Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Classement de photos | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Classement de photos Lun 31 Mar 2014 - 0:10 | |
| Le problème: A partir de deux séries de photos (ou plus), prises par des appareils différents, constituer une seule série avec les photos classées dans l'ordre chronologique de prise de vue (cas fréquent chez moi qui prends des photos avec mon appareil, et mon épouse qui fait de même avec le sien). (dans le cas présent il y avait 3 appareils différents, nous étions avec des amis, mais peu importe le nombre). Problème annexe: Les appareils sont rarement tous réglés pile poil à l'heure exacte, certains dérivent de quelques minutes, ou sont encore à l'heure d'hiver/été. Pour les séries concernées, pour que le classement soit valable, il faut définir une heure de référence (un des appareils par exemple), et modifier les dates/heures des autres en conséquence. Ces dates/heures de prise de vue (en fonction de l'heure de l'appareil) sont contenues dans les données 'Exifs' du fichier JPG. Ce sont ces données qu'il faut modifier pour synchroniser les photos. Pour cela on fait appel à un petit logiciel externe (gratuit): Jhead.exe (ici par exemple: http://www.commentcamarche.net/download/telecharger-34069090-jhead ) qui permet tout un tas d'opérations de lecture/écriture de ces données Exifs, en particulier sur les dates/heures. Ce logiciel fonctionne n'importe où sans installation, et surtout de manière transparente en ligne de commande, ce qui est intéressant pour nous programmeurs Panoramic. En visualisant la série d'images résultante, on peut donc facilement repérer et supprimer les images qui sont similaires et qui font double emploi, ce qui est assez fréquent. Voilà le programme brut de décoffrage: - Code:
-
LABEL Quit, Chr, Raz, Signe, Hexif, Modheur, Qtheur, Extraire LABEL Classement, Vimg, Qimg, Aide DIM a$,b$,d$,p$,f$,fr$,f1$,f2$,r1$,r2$,ra$,rs$,rd$,ns%,i%,j%,nt%,k%,w%,h%,m%,s% DIM ex$,jhead$,sg$
jhead$ = "C:\UTIL\jhead.exe " rs$ = "E:\PHOTOS\Marrakech_2014\Canon": ' pour essais (perso) rd$ = "E:\PHOTOS\Marrakech_2014\Class": ' " "
WIDTH 0,600: HEIGHT 0,900: BORDER_SMALL 0: FONT_BOLD 0 COLOR 0,164,255,255 CAPTION 0, " - INTERCLASSEMENT CHRONOLOGIQUE DE PHOTOS -"
CONTAINER 10: TOP 10,5: WIDTH 10,WIDTH(0)-20: HEIGHT 10,60: COLOR 10,255,255,190 ALPHA 11: PARENT 11,10: TOP 11,15: LEFT 11,5 CAPTION 11,"Répertoire de classement (résultat) :" EDIT 12: PARENT 12,10: TOP 12,30: LEFT 12,5: WIDTH 12,WIDTH(10)-60 COLOR 12,255,190,190: ON_CLICK 12,Chr TEXT 12,rd$ BUTTON 13: PARENT 13,10: TOP 13,TOP(12)-3: WIDTH 13,50: LEFT 13,WIDTH(10)-55 CAPTION 13,"<- RAZ": ON_CLICK 13,Raz
CONTAINER 20: TOP 20,TOP(10)+HEIGHT(10)+5: WIDTH 20,WIDTH(10): HEIGHT 20,90 COLOR 20,255,255,190 ALPHA 21: PARENT 21,20: TOP 21,15: LEFT 21,5 CAPTION 21,"Répertoire d'images à classer (JPG) :" EDIT 22: PARENT 22,20: TOP 22,30: LEFT 22,5: WIDTH 22,WIDTH(20)-60 COLOR 22,190,190,255: ON_CLICK 22,Chr TEXT 22,rs$ EDIT 28: PARENT 28,20: TOP 28,TOP(22): LEFT 28,LEFT(22)+WIDTH(22)+1: WIDTH 28,50 COLOR 28,190,255,190: TEXT 28,"IMG_": ' préfixe images ALPHA 29: PARENT 29,20: TOP 29,TOP(28)-15: LEFT 29,LEFT(28): CAPTION 29,"Préfixe :" BUTTON 23: PARENT 23,20: TOP 23,55: LEFT 23,10: WIDTH 23,150 CAPTION 23,"Correction Heures Exifs": ON_CLICK 23,Hexif BUTTON 24: PARENT 24,20: TOP 24,TOP(23): LEFT 24,170: WIDTH 24,110 CAPTION 24,"Copier/Classer": ON_CLICK 24,Classement BUTTON 25: PARENT 25,20: TOP 25,TOP(24): LEFT 25,290: CAPTION 25,"Déclasser" ON_CLICK 25,Extraire HIDE 25 BUTTON 26: PARENT 26,20: TOP 26,TOP(24): LEFT 26,410: CAPTION 26,"Quitter" ON_CLICK 26,Quit BUTTON 27: PARENT 27,20: TOP 27,TOP(24): LEFT 27,500: CAPTION 27,"Aide" ON_CLICK 27,Aide PROGRESS_BAR 30: TOP 30,TOP(20)+HEIGHT(20): WIDTH 30,WIDTH(0)-20
ALPHA 49: TOP 49,TOP(20)+HEIGHT(20)+25: LEFT 49,50: COLOR 49,255,255,0 LIST 50: TOP 50,TOP(49)+15: WIDTH 50,200: HEIGHT 50,HEIGHT(0)-240 COLOR 50,190,190,255: ON_CLICK 50,Vimg
ALPHA 59: TOP 59,TOP(49): LEFT 59,300: COLOR 59,255,255,0 LIST 60: TOP 60,TOP(50): LEFT 60,WIDTH(50)+5: WIDTH 60,WIDTH(0)-WIDTH(50)-25 HEIGHT 60,HEIGHT(50): COLOR 60,255,190,190: ON_CLICK 60,Vimg EDIT 62: TOP 62,TOP(59): LEFT 62,WIDTH(60)-50: WIDTH 62,50: COLOR 62,255,255,0 FONT_SIZE 62,12: COLOR 62,255,255,0: HIDE 62
MEMO 70: WIDTH 70,300: HIDE 70
' Form de mise à l'heure Exif des images d'un répertoire FORM 100: HEIGHT 100,200: BORDER_SMALL 100: FONT_BOLD 100: HIDE 100 COLOR 100,128,255,255 CAPTION 100,"Modification des heures Exif dans toutes les images" ALPHA 101: PARENT 101,100: CAPTION 101,"Répertoire :" EDIT 102: PARENT 102,100: TOP 102,15: WIDTH 102,WIDTH(100)-20 ALPHA 103: PARENT 103,100: TOP 103,40 CAPTION 103,"Offset à appliquer sur les heures Exifs:" BUTTON 104: PARENT 104,100: TOP 104,60: LEFT 104,10: WIDTH 104,20: HEIGHT 104,20 CAPTION 104,"+": FONT_SIZE 104,14: ON_CLICK 104,Signe BUTTON 105: PARENT 105,100: TOP 105,80: LEFT 105,10: WIDTH 105,20: HEIGHT 105,20 CAPTION 105,"-": FONT_SIZE 105,14: ON_CLICK 105,Signe ALPHA 106: PARENT 106,100: TOP 106,70: LEFT 106,40: CAPTION 106,"+": FONT_SIZE 106,16 COLOR 106,255,255,0 ALPHA 107: PARENT 107,100: TOP 107,TOP(106)+5: LEFT 107,100 CAPTION 107,"H M S" SPIN 108: PARENT 108,100: TOP 108,TOP(107)-3: LEFT 108,60: WIDTH 108,40 SPIN 109: PARENT 109,100: TOP 109,TOP(108): LEFT 109,120: WIDTH 109,40 SPIN 110: PARENT 110,100: TOP 110,TOP(108): LEFT 110,180: WIDTH 110,40 MIN 108,-100: MAX 108,100: MIN 109,-59: MAX 109,59: MIN 110,-59: MAX 110,59 BUTTON 111: PARENT 111,100: TOP 111,TOP(108)+40: LEFT 111,10: CAPTION 111,"Appliquer" ON_CLICK 111,Modheur BUTTON 112: PARENT 112,100: TOP 112,TOP(111)+25: LEFT 112,LEFT(111)+210 CAPTION 112,"Quitter": ON_CLICK 112,Qtheur ALPHA 113: PARENT 113,100: TOP 113,TOP(111)+30: LEFT 113,10: COLOR 113,255,255,0
' Form d'affichage des caractéristiques d'une image FORM 200: WIDTH 200,640: HEIGHT 200,290: BORDER_SMALL 200: FONT_BOLD 200: HIDE 200 COLOR 200,255,255,200 PICTURE 203: PARENT 203,200: TOP 203,0: WIDTH 203,320: HEIGHT 203,240 STRETCH_ON 203 ALPHA 204: PARENT 204,200: TOP 204,TOP(203): LEFT 204,WIDTH(203)+5 FONT_NAME 204,"Consolas" BUTTON 202: PARENT 202,200: TOP 202,HEIGHT(200)-70: LEFT 202,WIDTH(200)-110 CAPTION 202,"OK": ON_CLICK 202,Qimg
' Init Dir(TEXT$(22)+"\*.jpg","/B"): CLEAR 70: CLIPBOARD_PASTE 70 CLEAR 50: FOR i% = 1 TO COUNT(70): ITEM_ADD 50,ITEM_READ$(70,i%): NEXT i% CAPTION 49," "+STR$(COUNT(70))+" images " Dir(TEXT$(12)+"\*.jpg","/B"): CLEAR 70: CLIPBOARD_PASTE 70 CLEAR 60: FOR i% = 1 TO COUNT(70): ITEM_ADD 60,ITEM_READ$(70,i%): NEXT i% CAPTION 59," "+STR$(COUNT(70))+" images " END ' ============================================================================== Quit: TERMINATE ' ============================================================================== Chr: i% = NUMBER_CLICK OPEN_DIALOG 88 a$ = FILE_NAME$(88) IF LEN(a$) > 4 b$ = FILE_EXTRACT_PATH$(a$): b$ = LEFT$(b$,LEN(b$)-1) TEXT i%,b$ Dir(b$+"\*.jpg","/B"): CLEAR 70: CLIPBOARD_PASTE 70 IF i% = 12 j% = 60: ' répertoire de classement ELSE j% = 50 END_IF CLEAR j%: FOR i% = 1 TO COUNT(70): ITEM_ADD j%,ITEM_READ$(70,i%): NEXT i% CAPTION j%-1," "+STR$(COUNT(j%))+" images " IF j% = 50 a$ = LEFT$(ITEM_READ$(j%,1),4): TEXT 28,a$: ' préfixe fichiers END_IF END_IF DELETE 88 RETURN ' ============================================================================== Raz: a$ = "Voulez-vous supprimer définitivement les images du répertoire :" a$ = a$ + CHR$(10)+CHR$(10)+TEXT$(12) + CHR$(10)+CHR$(10)+" ?" i% = MESSAGE_CONFIRMATION_YES_NO(a$) IF i% <> 1 THEN RETURN Dir(TEXT$(12)+"\*.jpg","/B"): CLEAR 70: CLIPBOARD_PASTE 70 IF COUNT(70) > 0 FOR i% = 1 TO COUNT(70) f$ = TEXT$(12)+"\"+ITEM_READ$(70,i%) FILE_DELETE f$ NEXT i% CLEAR 60 CAPTION 59," "+STR$(COUNT(60))+" images " END_IF RETURN ' ============================================================================== Signe: i% = NUMBER_CLICK SELECT i% CASE 104: CAPTION 106,"+" CASE 105: CAPTION 106,"-" END_SELECT RETURN ' ============================================================================== Hexif: i% = NUMBER_CLICK TEXT 102,TEXT$(22) CAPTION 113,"" SHOW 100 RETURN ' ============================================================================== Modheur: ' Modification en + ou - de l'heure Exif de prise de vue CAPTION 113," Mise à jour en cours ... " ra$ = TEXT$(102): ' répertoire des images à modifier h% = POSITION(108): m% = POSITION(109): s% = POSITION(110) sg$ = CAPTION$(106) a$ = STR$(h%)+":"+STR$(m%)+":"+STR$(s%) a$ = sg$+a$ FOR i% = 1 TO COUNT(50) f$ = ra$ + "\" + ITEM_READ$(50,i%) Modexif(f$,a$) NEXT i% CAPTION 113,"" GOSUB Qtheur: ' quitter après modifications RETURN ' ============================================================================== Qtheur: HIDE 100 RETURN ' ============================================================================== Extraire: ' reconstitution d'un répertoire d'origine à partir du répertoire de classement ' (avec reconstitution du nom de fichier initial). a$ = "Reconstitution du répertoire d'origine à partir du répertoire"+CHR$(10) a$=a$+"de classement. La recherche se fait à partir du préfixe"+CHR$(10) a$=a$+"indiqué ('Préfixe') trouvé dans les noms d'images."+CHR$(10)+CHR$(10) a$=a$+" OK ?" i% = MESSAGE_CONFIRMATION_YES_NO(a$) IF i% <> 1 THEN RETURN Dir(r1$+"\*.jpg","/B"): CLEAR 70: CLIPBOARD_PASTE 70 nt% = COUNT(70) p$ = TEXT$(28): r2$ = TEXT$(22): ' préfixe et répertoire récepteur SHOW 62 FOR i% = 1 TO nt% TEXT 62,STR$(i%)+"/"+STR$(nt%): display a$ = ITEM_READ$(70,i%) b$ = MID$(a$,17,LEN(a$)-16) IF INSTR(b$,p$) > 0 f1$ = r1$+"\"+a$ f2$ = r2$+"\"+b$ IF FILE_EXISTS(f2$) = 1 THEN FILE_DELETE f2$ FILE_COPY f1$,f2$ END_IF NEXT i% HIDE 62 RETURN ' ============================================================================== Classement: IF COUNT(50) = 0 THEN RETURN rs$ = TEXT$(22): ns% = COUNT(50): ' répertoire source rd$ = TEXT$(12): ' répertoire récepteur (classement) MIN 30,0: MAX 30,ns% FOR i% = 1 TO ns% POSITION 30,i% a$ = ITEM_READ$(50,i%) f$ = rs$+"\"+a$: ImgDate(f$) d$ = CLIPBOARD_STRING_PASTE$ d$=left$(d$,4)+"_"+mid$(d$,6,2)+"_"+mid$(d$,9,2)+"_"+mid$(d$,12,2)+mid$(d$,15,2) a$ = d$+"_"+a$ fr$ = rd$+"\"+a$ IF FILE_EXISTS(fr$) = 0 FILE_COPY f$,fr$ ITEM_ADD 60, a$ END_IF CAPTION 59,STR$(COUNT(60)) NEXT i% Dir(TEXT$(12)+"\*.jpg","/B"): CLEAR 70: CLIPBOARD_PASTE 70 CLEAR 60: FOR i% = 1 TO COUNT(70): ITEM_ADD 60,ITEM_READ$(70,i%): NEXT i% CAPTION 59," "+STR$(COUNT(60))+" images " RETURN ' ============================================================================== Vimg: ' Voir une image et ses données Exifs CAPTION 204,"": 2D_TARGET_IS 203: STRETCH_OFF 203: PRINT_TARGET_IS 203 FONT_SIZE 203,24: FONT_BOLD 203: PRINT_LOCATE 100,100: PRINT " MOM ... " SHOW 200: TO_FOREGROUND 200 i% = NUMBER_CLICK: ' liste cliquée a$ = ITEM_INDEX$(i%): ' image cliquée IF i% = 50 f$ = TEXT$(22)+"\"+a$ ELSE f$ = TEXT$(12)+"\"+a$ END_IF CAPTION 200,f$ Exifs(f$): a$ = CLIPBOARD_STRING_PASTE$ a$ = MID$(a$,INSTR(a$,"File size"),800) CAPTION 204,a$: ' données Exifs k% = INSTR(a$,"Resolution"): a$ = MID$(a$,k%+15,20) k% = INSTR(a$," x "): w% = VAL(LEFT$(a$,k%-1)): a$ = MID$(a$,k%+3,20) k% = INSTR(a$,CHR$(13)): h% = VAL(LEFT$(a$,k%-1)) IF w% > h% WIDTH 203,320: HEIGHT 203,320*h%/w% ELSE HEIGHT 203,240: WIDTH 203,240*w%/h% END_IF HEIGHT 200,HEIGHT(203)+50 STRETCH_ON 203: FILE_LOAD 203,f$ RETURN ' ============================================================================== Qimg: HIDE 200 RETURN ' ============================================================================== Aide: b$ = CHR$(13)+CHR$(10) a$="L'opération consiste à fusionner plusieurs répertoires contenant des photos"+b$ a$=a$+"prises par des appareils différents (un répertoire par appareil)."+b$ a$=a$+"Toutes ces photos seront classées dans un répertoire commun, dans l'ordre"+b$ a$=a$+"chronologique de leur prise de vue, ce paramètre étant extrait des données"+b$ a$=a$+"Exifs de l'image."+b$+b$
a$=a$+"Les différents appareils étant en général désynchronisés les uns par rapport aux"+b$ a$=a$+"autres (heure interne inexacte) il est possible de rectifier ces dates/heures de"+b$ a$=a$+"prises de vues pour une série de photos, en ajoutant ou soustrayant des valeurs"+b$ a$=a$+"à ces données, pour synchroniser les prises de vues (bouton 'Correction Heures Exifs'"+b$ a$=a$+"qui modifie les dates/heures de toutes les photos du répertoire courant)."+b$+b$
a$=a$+"MODE OPÉRATOIRE:"+b$+b$ a$=a$+"1) Choisir le répertoire commun qui recevra les images classées (on peut"+b$ a$=a$+"choisir de le nettoyer s'il contient déjà des images: touche 'RAZ')."+b$+b$ a$=a$+"2) Choisir un des répertoires contenant des photos à classer: la liste des"+b$ a$=a$+"photos contenues s'affiche à gauche. Appliquer éventuellement une correction"+b$ a$=a$+"des heures de prise de vue ('Correction Heures Exifs'), puis 'Copier/Classer'"+b$ a$=a$+"les photos dans le répertoire récepteur commun: elles s'affichent avec un"+b$ a$=a$+"nouveau nom contenant la date/heure de la photo."+b$+b$ a$=a$+"3) Répéter l'opération pour chaque répertoire de photos à intégrer."+b$ a$=a$+"NB: il est possible à tout moment de cliquer sur n'importe quelle image"+b$ a$=a$+"listée pour obtenir son affichage réduit et ses caractéristiques Exifs."+b$+b$
a$=a$+"Toutes les photos sont recopiées dans un répertoire commun de classement,"+b$ a$=a$+"avec leur nom précédé de la date et heure de prise de vue, éventuellement"+b$ a$=a$+"corrigée précédemment, donc de ce fait dans l'ordre chronologique."+b$ a$=a$+"Les répertoires d'origine sont inchangés (seules les dates/heures de prises"+b$ a$=a$+"de vues sont éventuellement modifiées)."+b$+b$ MESSAGE a$ RETURN ' ============================================================================== SUB Modexif(f$,seq$) ' Modification de l'heure Exif de f$, en fonction de seq$ (modif de +/- durée) ' seq$ = +/-hh:mm:ss DIM_LOCAL a$, prg$, scr$, bat$ IF VARIABLE("jhead$")=0 THEN DIM jhead$: jhead$ = "C:\UTIL\Jhead.exe" prg$ = "CMD.exe /c "+jhead$+" -ta"+seq$+" "+f$+" | clip" scr$ = "C:\TEMP\Vbscript.vbs": bat$ = "C:\TEMP\Bat.bat" FILE_OPEN_WRITE 9, bat$: FILE_WRITELN 9, prg$: FILE_CLOSE 9: ' Fichier .bat prg$ = "CreateObject(" + CHR$(34) + "Wscript.Shell" + CHR$(34) + ").Run " prg$ = prg$ + CHR$(34) + bat$ + CHR$(34) + ",0,True" FILE_OPEN_WRITE 9, scr$: FILE_WRITELN 9, prg$: FILE_CLOSE 9: ' script vbs EXECUTE_WAIT "WSCRIPT.exe " + scr$: ' Exécution du script FILE_DELETE bat$: FILE_DELETE scr$ END_SUB ' ============================================================================== SUB Exifs(f$) ' Données Exifs f$ -> clipboard DIM_LOCAL a$, prg$, scr$, bat$ IF VARIABLE("jhead$")=0 THEN DIM jhead$: jhead$ = "C:\UTIL\Jhead.exe" prg$ = "CMD.exe /c "+jhead$+" "+f$+" | clip" scr$ = "C:\TEMP\Vbscript.vbs": bat$ = "C:\TEMP\Bat.bat" FILE_OPEN_WRITE 9, bat$: FILE_WRITELN 9, prg$: FILE_CLOSE 9: ' Fichier .bat prg$ = "CreateObject(" + CHR$(34) + "Wscript.Shell" + CHR$(34) + ").Run " prg$ = prg$ + CHR$(34) + bat$ + CHR$(34) + ",0,True" FILE_OPEN_WRITE 9, scr$: FILE_WRITELN 9, prg$: FILE_CLOSE 9: ' script vbs EXECUTE_WAIT "WSCRIPT.exe " + scr$: ' Exécution du script FILE_DELETE bat$: FILE_DELETE scr$ END_SUB ' ============================================================================== SUB ImgDate(f$) ' Date de prise de vue image f$ -> clipboard, format aaaa:mm:jj hh:mm:ss DIM_LOCAL a$, prg$, scr$, bat$ IF VARIABLE("jhead$")=0 THEN DIM jhead$: jhead$ = "C:\UTIL\Jhead.exe" prg$ = "CMD.exe /c "+jhead$+" "+f$+" | clip" scr$ = "C:\TEMP\Vbscript.vbs": bat$ = "C:\TEMP\Bat.bat" FILE_OPEN_WRITE 9, bat$: FILE_WRITELN 9, prg$: FILE_CLOSE 9: ' Fichier .bat prg$ = "CreateObject(" + CHR$(34) + "Wscript.Shell" + CHR$(34) + ").Run " prg$ = prg$ + CHR$(34) + bat$ + CHR$(34) + ",0,True" FILE_OPEN_WRITE 9, scr$: FILE_WRITELN 9, prg$: FILE_CLOSE 9: ' script vbs EXECUTE_WAIT "WSCRIPT.exe " + scr$: ' Exécution du script FILE_DELETE bat$: FILE_DELETE scr$ a$ = CLIPBOARD_STRING_PASTE$ CLIPBOARD_STRING_COPY MID$(a$,INSTR(a$,"Date/Time")+15,19) END_SUB ' ============================================================================== SUB Dir(rep$, arg$) ' Liste des fichiers du répertoire rep$, options arg$, résultat -> CLIPBOARD ' (à coller par exemple dans un Memo). Exécution sans fenêtre noire. ' Arguments optionnels: ' /A:D répertoires, /A:-D fichiers, /B format abrégé" ' /-C pas de séparateur de milliers, /-N fichiers à gauche (abrégés) ' /O: (tri) N tri alpha, E tri par extension, G répertoires en tête, ' S tri par taille, D tri par date croissante (-D date décroissante) ' /S y compris sous-répertoires, /X avec noms abrégés. DIM_LOCAL prg_a$, s_cr$, b_at$ prg_a$ = "CMD.exe /c DIR " + rep$ + " " + arg$ + " | clip" s_cr$ = "C:\TEMP\Vbscript.vbs": b_at$ = "C:\TEMP\Bat.bat" FILE_OPEN_WRITE 9, b_at$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' Fichier .bat prg_a$ = "CreateObject(" + CHR$(34) + "Wscript.Shell" + CHR$(34) + ").Run " prg_a$ = prg_a$ + CHR$(34) + b_at$ + CHR$(34) + ",0,True" FILE_OPEN_WRITE 9, s_cr$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' script vbs EXECUTE_WAIT "WSCRIPT.exe " + s_cr$: ' Exécution du script FILE_DELETE b_at$: FILE_DELETE s_cr$ END_SUB ' ============================================================================== Edit du 31/3 petites modifs, rectifications mineures.
Dernière édition par JL35 le Lun 31 Mar 2014 - 18:03, édité 1 fois | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 31 Mar 2014 - 1:48 | |
| J' ai bien téléchargé le *.exe mais où est la doc ?... Va falloir un bon tutoriel pour se servir de cet outils et je dirai même plus, faudra qu' on le publie sur le mag. Cela fait parti de son utilité. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Classement de photos Lun 31 Mar 2014 - 9:34 | |
| Bonjour ygeronimi, Si tu parles de Jhead.exe, il te suffit de taper en ligne de commande jhead.exe -h et tu as toute la documentation voulue (mais en british, désolé ) et là tu vois toute l'étendue des possibilités. (J'avais aussi exiftool, freeware également, et là il y a des centaines de paramètres, à voir, mais pour ce que je voulais faire jhead fait l'affaire). Fonctions très intéressantes pour qui s'intéresse à la photo et aux données Exif des photos. Une petite précision quand même, les répertoires que j'ai mis en 'dur' dans le programme (pour mes essais) sont mes répertoires à moi, pour l'exemple, mais ils sont évidemment à supprimer/modifier. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 1 Avr 2014 - 0:18 | |
| Je ne suis pas un spécialiste de la ligne de commande mais l' instruction | Clip fonctionne t elle avec W7 ? Je n' ai pas de retour des exifs. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 1 Avr 2014 - 1:32 | |
| Bravo ! Ton outils est très bien, je me le mets sous le coude, ou plutôt sur le bureau... Je me suis fait un petit outils à partir de Jhead pour récupérer les infos de mes photos. jhead fonctionne très bien, en plus avec la sub qui évite la fenêtre noire c' est génial. Je range cette outils avec 7z et senditquiet. Si tu as d' autres outils utilisable comme celui ci, on pourrait en faire une belle bibliothèque, en tout cas, je suis preneur... J' ai mis ce petit outils sur mon webdav, il évoluera avec le temps, comme les autres... Ps : Ne cherchez pas mes autre productions, elles sont dans le dossier YGERONIMI du webdav. J' ai fait un peu de rangement... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Classement de photos Mar 1 Avr 2014 - 11:27 | |
| - Ygeronimi a écrit:
- Je ne suis pas un spécialiste de la ligne de commande
mais l' instruction | Clip fonctionne t elle avec W7 ? La commande clip fonctionne bien avec VISTA, W7 et W8. Pour XP, il faut la télécharger. clip.exe est un utilitaire en ligne de commande qui permet de rediriger la sortie d’une autre commande vers le press-papier Windows. Cette commande utilise un pipe (|) Pour tester cette commande, ouvre une fenêtre de l’invite de commande et tape ceci (par exemple) : dir | clipLa sortie de la commande DIR est redirigée vers le presse-papier. Pour te convaincre, ouvre une fenêtre du bloc-note et fais un coller MIEUX :Exécute ce code Panoramic - Code:
-
execute_wait "cmd /c dir | clip" Puis fais un coller où tu voudras Info :L'utilitaire clip.exe peut aussi être utilisé pour lire un fichier texte et placer son contenu dans le presse-papier de Windows. La commande à utiliser est : clip < unFichier.txtLe symbole de redirection (<) signifie que le contenu du fichier unFichier.txt sera rediregé vers clip (c-à-d vers le presse-papier) | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Classement de photos Mar 1 Avr 2014 - 14:38 | |
| Effectivement papydall, clip n'était pas en standard dans XP, mais je l'avais installé et ça me paraissait tout naturel depuis le temps que je l'utilise C'est bien pratique pour toutes les commandes Dos, plutôt que d'envoyer le résultat dans un fichier, puis lire le fichier, puis le détruire... alors qu'on a sous panoramic Clipboard_Paste$ et Clipboard_String_Paste$ bien pratiques pour récupérer le presse-papier directement dans un objet ou une chaîne. @ygeronimi des outils j'en ai pas mal, mais il faudrait faire un sacré tri... et puis il faut que ça ait un rapport avec panoramic, ou du moins exploité par un programme panoramic. On parle donc exclusivement d'outils utilisables en ligne de commande, appelables de manière transparente (sans affichage à l'écran) depuis Panoramic et qui renvoient un résultat éventuel utilisable en Panoramic (presse-papier ou fichier). Dans cette optique j'utilise beaucoup Irfanview, mais il y en a bien d'autres, je vais regarder. Ce serait évidemment intéressant de récapituler tout ça, en classant par catégories, chacun pourrait apporter ses trouvailles, parfois ça simplifie bien la vie. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 1 Avr 2014 - 18:49 | |
| Surtout ce genre de *.exe qui ne nécessite pas d' installation. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Classement de photos Mar 1 Avr 2014 - 19:53 | |
| Voici un exemple d'utilisation de la commande CLIP avec un code en Panoramic - Code:
-
' Exemple d'utilisation de la commande CLIP full_space 0 memo 1 : width 1,300 : height 1,500 memo 2 : left 2, 400 : width 2,800 : height 2,10000 execute_wait "cmd /c dir | clip" : ' La sortie de la commande DIR est redirigée vers le presse-papier message clipboard_string_paste$ : ' Afficher un message dont le contenu est celui du presse-papier clipboard_paste 1 : ' Afficher le contenu du presse-papier dans le MEMO 1 execute_wait "cmd /c clip < test.bas" : ' Lire le fichier 'test.bas' et placer son contenu dans le presse-papier ' Le fichier 'test.bas' (par exemple ce même fichier) doit bien sûr exister dans le répertoire courant. ' Si le fichier 'test.bas' n'existe pas, la commande 'CLIP < test.bas' n'enverra rien au presse-papier ' et ne modifie pas son ancien contenu clipboard_paste 2 : ' Afficher le contenu du presse-papier dans le MEMO 2
| |
| | | Contenu sponsorisé
| Sujet: Re: Classement de photos | |
| |
| | | | Classement de photos | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |