Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PIC-VIEWER


Information sur la source

Catégorie :AddOns Classé sous : picwin, viewer, image, visionneur Niveau : Débutant Date de création : 22/07/2005 Date de mise à jour : 22/07/2005 22:01:06 Vu : 2 297

Note :
Aucune note

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Pic-viewer est un chargeur d'image entierement en picwin.
L'image une fois ouverte sera redimensionné dans un cadre. Vous pouvez regarder l'image dans sans taille rélle en double-cliquant sur celle-ci dans la pré-visualisation.
Pour l'ouvrir: /pic

ps: utilisation du code de $fileinfo par FiberOptics. N'ayant pas pu me decider entres les flags -d et -o j'ai opter pour le -d. Un @window s'ouvre donc dans la barre de tâche.
 

Source

  • alias pic {
  • window -c @pic
  • window -Bdk0pCk0zh +d @pic 0 0 400 400
  • drawrect -r @pic $rgb(100,100,100) 1 0 0 400 400
  • drawrect -fr @pic $rgb(117,134,172) 1 1 1 398 398
  • drawline -r @pic $rgb(100,100,100) 1 0 15 400 15
  • drawtext -r @pic $rgb(255,255,255) Verdana 10 5 2 Pic viewer
  • drawtext -r @pic $rgb(255,255,255) Verdana 10 390 2 X
  • drawline -r @pic $rgb(100,100,100) 1 10 30 63 30
  • drawline -r @pic $rgb(100,100,100) 1 10 30 10 52 70 52 70 35 62 30
  • drawtext -r @pic $rgb(255,255,255) Verdana 10 25 35 Open
  • drawrect -r @pic $rgb(255,255,255) 1 110 30 250 340
  • }
  • menu @pic {
  • sclick:{
  • if $inrect($mouse.x,$mouse.y,10,30,62,23) {
  • set %view.directory $sfile(c:\,Choose an image,ok)
  • if (.jpg isin %view.directory || .bmp isin %view.directory || .png isin %view.directory) { set %format.good yes }
  • else { set %format.good no }
  • if %view.directory && %format.good == yes {
  • drawrect -fr @pic $rgb(117,134,172) 1 2 380 395 15
  • drawpic -sm @pic 115 35 240 330 $shortfn(%view.directory)
  • drawtext -r @pic $rgb(255,255,255) Verdana 10 5 380 $shortfn(%view.directory)
  • }
  • }
  • if $inrect($mouse.x,$mouse.y,389,5,391,5) { window -c @pic }
  • }
  • dclick:{
  • if $inrect($mouse.x,$mouse.y,110,30,250,340) {
  • window -Bdk0pCk0zh +d @view 0 0 $gettok($fileinfo(%view.directory,Dimensions),-3,32) $gettok($fileinfo(%view.directory,Dimensions),-1,32)
  • drawpic @view 0 0 $shortfn(%view.directory)
  • }
  • }
  • }
  • menu @view {
  • Close:/window -c @view
  • }
  • alias fileinfo {
  • if !$isid { echo -ac info * $!fileinfo: This function can only be used as an identifier. | return }
  • var %file = $shortfn($1)
  • if !$isfile(%file) { echo -ac info * $!fileinfo: Incorrect filepath specified. | return }
  • var %categories = $&
  • Name Size Type DateModified DateCreated DateAccessed Attributes Status Owner Author Title $&
  • Subject Category Pages Comments Copyright Artist AlbumTitle Year TrackNumber Genre Duration $&
  • BitRate Protected CameraModel DatePictureTaken Dimensions . . EpisodeName ProgramDescription . $&
  • Audiosamplesize Audiosamplerate Channels Company Description FileVersion ProductName ProductVersion
  • if $2 == $null {
  • echo -ac info * $!fileinfo: Category missing.
  • echo -a Categories: $remove(%categories,.)
  • return
  • }
  • var %tmp = $ticks
  • var %objShell = a $+ %tmp, %objFolder = b $+ %tmp, %objFile = c $+ %tmp
  • var %separator = $iif($0 == 3,$3,$lf), %result
  • .comopen %objShell shell.application
  • if !$comerr {
  • %tmp = $com(%objShell,namespace,1,bstr,$nofile(%file),dispatch* %objFolder)
  • if $com(%objFolder) {
  • %tmp = $com(%objFolder,parsename,1,bstr,$nopath(%file),dispatch* %objFile)
  • if $com(%objFile) {
  • tokenize 32 $remove($2,.)
  • while $0 {
  • if $findtok(%categories,$1,1,32) {
  • %tmp = $com(%objFolder,getdetailsof,9,dispatch,%objFile,uint,$calc($ifmatch - 1))
  • %tmp = $iif($com(%objFolder).result,$ifmatch,0)
  • %result = %result $iif($prop == raw,%tmp,$1: %tmp) %separator
  • }
  • tokenize 32 $2-
  • }
  • .comclose %objFile
  • }
  • .comclose %objFolder
  • }
  • .comclose %objShell
  • }
  • return $left(%result,- $+ $len(%separator))
  • }
  • on *:load:{ echo -a Pic viewer loaded [ /pic ] | echo -a Thanks for FiberOptics for $fileinfo }
alias pic {
  window -c @pic
  window -Bdk0pCk0zh +d @pic 0 0 400 400
  drawrect -r @pic $rgb(100,100,100) 1 0 0 400 400
  drawrect -fr @pic $rgb(117,134,172) 1 1 1 398 398
  drawline -r @pic $rgb(100,100,100) 1 0 15 400 15
  drawtext -r @pic $rgb(255,255,255) Verdana 10 5 2 Pic viewer
  drawtext -r @pic $rgb(255,255,255) Verdana 10 390 2 X
  drawline -r @pic $rgb(100,100,100) 1 10 30 63 30
  drawline -r @pic $rgb(100,100,100) 1 10 30 10 52 70 52 70 35 62 30
  drawtext -r @pic $rgb(255,255,255)  Verdana 10 25 35 Open
  drawrect -r @pic $rgb(255,255,255) 1 110 30 250 340
}
menu @pic {
  sclick:{
    if $inrect($mouse.x,$mouse.y,10,30,62,23) { 
      set %view.directory $sfile(c:\,Choose an image,ok)
      if (.jpg isin %view.directory || .bmp isin %view.directory || .png isin %view.directory) { set %format.good yes }
      else { set %format.good no }
      if %view.directory && %format.good == yes {
        drawrect -fr @pic $rgb(117,134,172) 1 2 380 395 15
        drawpic -sm @pic 115 35 240 330 $shortfn(%view.directory)
        drawtext -r @pic $rgb(255,255,255) Verdana 10 5 380 $shortfn(%view.directory)
      }
    }
    if $inrect($mouse.x,$mouse.y,389,5,391,5) { window -c @pic }
  }
  dclick:{
    if $inrect($mouse.x,$mouse.y,110,30,250,340) {
      window -Bdk0pCk0zh +d @view 0 0 $gettok($fileinfo(%view.directory,Dimensions),-3,32) $gettok($fileinfo(%view.directory,Dimensions),-1,32)
      drawpic @view 0 0 $shortfn(%view.directory)
    }
  }
}
menu @view {
  Close:/window -c @view
}
alias fileinfo {
  if !$isid { echo -ac info * $!fileinfo: This function can only be used as an identifier. | return }
  var %file = $shortfn($1)
  if !$isfile(%file) { echo -ac info * $!fileinfo: Incorrect filepath specified. | return }
  var %categories = $&
    Name Size Type DateModified DateCreated DateAccessed Attributes Status Owner Author Title $&
    Subject Category Pages Comments Copyright Artist AlbumTitle Year TrackNumber Genre Duration $&
    BitRate Protected CameraModel DatePictureTaken Dimensions . . EpisodeName ProgramDescription . $&
    Audiosamplesize Audiosamplerate Channels Company Description FileVersion ProductName ProductVersion
  if $2 == $null {
    echo -ac info * $!fileinfo: Category missing.
    echo -a Categories: $remove(%categories,.)
    return
  }
  var %tmp = $ticks
  var %objShell = a $+ %tmp, %objFolder = b $+ %tmp, %objFile = c $+ %tmp
  var %separator = $iif($0 == 3,$3,$lf), %result
  .comopen %objShell shell.application
  if !$comerr {
    %tmp = $com(%objShell,namespace,1,bstr,$nofile(%file),dispatch* %objFolder)
    if $com(%objFolder) {
      %tmp = $com(%objFolder,parsename,1,bstr,$nopath(%file),dispatch* %objFile)
      if $com(%objFile) {
        tokenize 32 $remove($2,.)
        while $0 {
          if $findtok(%categories,$1,1,32) {
            %tmp = $com(%objFolder,getdetailsof,9,dispatch,%objFile,uint,$calc($ifmatch - 1))
            %tmp = $iif($com(%objFolder).result,$ifmatch,0)
            %result = %result $iif($prop == raw,%tmp,$1: %tmp) %separator
          }
          tokenize 32 $2-
        }
        .comclose %objFile
      }
      .comclose %objFolder
    }
    .comclose %objShell
  }
  return $left(%result,- $+ $len(%separator))
}
on *:load:{ echo -a Pic viewer loaded [ /pic ] | echo -a Thanks for FiberOptics for $fileinfo }

Conclusion

Pas de bug décelés jusqu'à présent (merci aux beta-testeurs).
Critique bonne ou mauvaise, aidez moi à l'amélioré =p
 

Historique

22 juillet 2005 22:01:06 :
Modification d'un menu.

Commentaires et avis

signaler à un administrateur
Commentaire de wims le 23/07/2005 18:41:01

j'ai essayer avec plusieur image , et a chaque fois l'image est mal chargé, si je load une image tout petite , l'image prend tout la place que tu a faite et l'image est toute pixelisé
Tu pourrais plutot dessiner le bouton dans la window et lorsque on load l'image , faire en sorte de dessiner la fenetre en fonction de la taille de l'image

signaler à un administrateur
Commentaire de S333 le 23/07/2005 20:37:02

Coté code: très simple, la seule chose compliqué est le $fileinfo qui necessite de connaitre l'objet com à appeler, sinon... bah c'est très simple !

Donc voilà, je propose que tu cherches une utilité à cet add-on pour qu'il serve à quelqu'un. Parce que pour voir des images, j'aurais plus vite fait d'utiliser l'aperçu windows :/
Je sais pas, tu pourrais créer une option de diaporama, des trucs de ce genre qui fasse de ce code quelque chose d'original :)

Sinon ça marche bien :) mais comme dit wims, si l'on charge une petite image, elle s'affiche dans @pic pixelisée.

signaler à un administrateur
Commentaire de Sykes le 23/07/2005 22:14:04

Je ne vois pas tellement d'utilité à cet add-on étant donné que je n'avais pas vraiment de but précis lorsque j'ai commencer à le faire. Mais j'peux en trouvé :)

Pour les petites images, c'est vrais que ça fait asser moche.. mais j'en avais pas sous la mains pour tester (et les beta-testeurs non-plus apparement ;p).

J'travaille actuellement sur une updates avec differents thème de couleur et des effets de relief, etc. Cela va prendre pas mal de temps vu que je ne maîtrise pas totalement les picwins..mais j'vais trouvé une utilité à tout ça.

Voili voilou..

signaler à un administrateur
Commentaire de KiNdErMaXi le 23/07/2005 23:29:47

si l'image est étirée dans le cadre il faut remplacer :
drawpic -sm @pic 115 35 240 330 $shortfn(%view.directory)
par :
drawpic -sm @pic 115 35 $pic($shortfn(%view.directory)).width $pic($shortfn(%view.directory)).height $shortfn(%view.directory)

signaler à un administrateur
Commentaire de S333 le 24/07/2005 12:46:12

Puis au passage, il peut s'en servir pour ne plus utiliser $fileinfo :) Lorsque j'ai vu le script, j'ai cherché cette commande pour donner la taille d'une image :) Bah Merci kindermaxi :) $pic est là ^^

signaler à un administrateur
Commentaire de tofu le 24/07/2005 14:32:16

c'est vrment un pic viewer de base, yen a eu des bcp plus complets déjà postés.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Comment mettre une image de fond ds les pv et le gen plz? jai tout dé sof sa ds mon script :) [ par roxorz ] Comment mettre une image de fond ds les pv et le gen plz? jai tout dé sof sa ds mon script :) Vla LoL :) mettre une image sur le general [ par LALIE ] coucouj'aimerais savoir comment mettre une image sur le general et un privé mercikiss mettre une image sur le general [ par LALIE ] coucouDonc voila je voudrais mettre une image sur le general et une differente en pv mais je ne trouve pas komen faire donc si kkun pouveit m'aider ce redimensionner image [ par SirTooN ] bonjourvoila ma question est en somme toute bete, peut on ous Mirc redimensionner une image en JPG, modifier sa resolution, sa taille ou autre ?voila Dégradé [ par Bloock ] Bon voila, je vais faire un lecteur mp3 en picwin, et j'aimerai savoir comment on fait [/b]un dégradé dans une fenêtre Picwin[/b]! Merci d'avance <img Scripteur, script, creation... [ par titeuf28310 ] Ben voilà, je debute dans le scripting, j'ai decider, pour apprendre, de prendre le mirc 6.14 et de faire direct mon propre script !J'aurai 2 ou 3 com Background [ par Eiffel ] Salutations tous.J'ai placer le code suivant dans les popups channel:Changer le fond:{ %background = " $+ $dir="Selecionne ton image" $+ " %backgrou Aide Socket & picwin [ par _VeSpArO_ ] Salut tout le monde je voulai savoir comment stocker un fichier txt d'un site dans un fichier .txt ou autre dans mon mirc.CAD: telecharger par exemple Picwin je pense lol jsuis meme pas sur du nom :s [ par Panther007 ] Salut :) Bon je vous dit en quoi j'aimerais me faire aider , j'aimerais me fabriquer un jeu de Ping pong mais avant il faut que je sache comment utili Dialog + Picwin [ par DiGhan ] Bonjour,Voilà , j'ai plusieurs dialog, dans lequel je voudrais inclure des picwin.J'aimerais savoir comment faire pour bouger le dialog quand la title


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 5,460 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.