begin process at 2010 03 12 00:11:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > PIC-VIEWER

PIC-VIEWER


 Information sur la source

Note :
Aucune note
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 451

Auteur : Sykes

Ecrire un message privé
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.

 Sources de la même categorie

TCL - AJOUT SUPPRESSION DE LOGS par Atok
BLACKLIST PSEUDOS/MASKS par usurpateur
Source avec une capture [XCHAT] ANTI KICK / AWAY C++ par GeroXXXX
JEU DU CODE par alanpersonproject
SERVEUR FTP par hisoka2501

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LAZER (JEU EN PICWIN) par Zova
Source avec Zip Source avec une capture [DLL] DESSINER COMME LES PICWINS SUR UNE DIALOGBOX (BONUS: J... par uaip
Source avec Zip Source avec une capture PACMAN ONLINE - 4 JOUEURS par wims
SINUSOÏDALE par wims
Source avec Zip Source avec une capture BELOTE (MULTIJOUEURS) EN PICWIN par RCA ArKanis

Commentaires et avis

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

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.

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..

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)

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à ^^

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


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales