FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Ajouter des légendes à des photos Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Ajouter des légendes à des photos Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Ajouter des légendes à des photos Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Ajouter des légendes à des photos Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Ajouter des légendes à des photos Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Ajouter des légendes à des photos Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Ajouter des légendes à des photos Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Ajouter des légendes à des photos Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Ajouter des légendes à des photos Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Ajouter des légendes à des photos Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Ajouter des légendes à des photos Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Ajouter des légendes à des photos Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Ajouter des légendes à des photos Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Ajouter des légendes à des photos Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Ajouter des légendes à des photos Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

 

 Ajouter des légendes à des photos

Aller en bas 
4 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 14:47

Par exemple pour faire un diaporama au retour de vacances, transformer certaines images en images-titres, ou commenter certaines images qui restent insérées dans la série.

Pour des raisons de facilité, le programme fait appel à deux ressources externes (freeware):
- IrfanView, bien connu: utilisé pour connaître les dimensions et la date et heure de prise de vue initiale de la photo (données Exif de la photo), et pour les conversions bmp -> jpg des images résultat.
- FileTouch.exe, petit utilitaire (16k) qui permet de modifier les date/heure de création d'un fichier: pour forcer ces données après modification d'une image (remettre les date/heure de prise de vue), à télécharger éventuellement ici: http://www.softtreetech.com/24x7/archive/47.htm
- ExifTool.exe qui permet de transférer les données Exif de prise de vue d'une photo d'un fichier à un autre, téléchargeable ici: http://www.clubic.com/telecharger-fiche202900-exiftool.html
Les chemins d'accès de ces deux fichiers sont à confirmer en tête du programme (iv$ et exif$).
(également dans la SUB Img_Infos pour IrfanView)

Le texte à ajouter (police, taille, couleur, fond et enrichissements à la demande) est positionné soit par clic dans l'image, soit en précisant les coordonnées (une grille au pas de 100 pixels peut être affichée, en bascule, pour faciliter le repérage).
Le fond du texte est soit coloré, soit transparent.
Le fichier résultat est soit le fichier d'origine qui sera écrasé ('Enregistrer'), soit un fichier différent ('Enregistrer sous...').
La date/heure du fichier résultat est soit la date actuelle, soit la date/heure de prise de vue (origine), soit une date/heure à préciser.
Par défaut, les données de prise de vue d'origine sont transférées dans le fichier résultat.

Et voilà le travail:
Code:

LABEL Chr, Chf, Chf1, Chf2, Chp, Chp1, Chcf, Chct, Chxy, Grille, Exec, Annul, Chopt
LABEL Save, Save1, Save2, Global, Mkbat, Aide
DIM p, pc, i%, k%, a$, rep$, f$, fr$, ftmp$, fdir$, iv$, wi%, hi%, wp%, hp%, er$
DIM rt%, gt%, bt%, rf%, gf%, bf%, txt$, ta%, dt$, nbc, ht%, xt%, yt%, xr%, yr%
DIM ra, gri%, pv, pi, x%, y%, wt%, r%, g%, b%, lfx, exif$, fsv$, fba$, occ
DIM fmo$, jj, mm, aa, hh, mi, ss, rd$, xim%, bat$, scr$
 ' * Fichiers créés par le programme:
ftmp$ = "C:\TEMP\Provis.bmp"
fsv$ = "C:\TEMP\Ssauvex.jpg"
fdir$ = "C:\TEMP\Dir.tmp"
bat$ = "C:\TEMP\Prgbat.bat"
scr$ = "C:\TEMP\Script.vbs"
' * Programmes externes existants:
iv$ = "C:\Progra~2\IrfanView\i_view32.exe ": ' sur Windows 7, à vérifier
exif$ = "C:\UTIL\Exiftool.exe ": ' transfert des données Exifs

WIDTH 0,1020: HEIGHT 0, 810: FONT_BOLD 0: BORDER_SMALL 0
COLOR 0,190,255,255: CAPTION 0," - LÉGENDES DE PHOTOS -"
ALPHA 1: TOP 1,5: LEFT 1,5: CAPTION 1, "Image:"
EDIT 2: TOP 2,25: LEFT 2,5: WIDTH 2,320: FONT_COLOR 2,180,0,0
TEXT 2," - Clic pour choisir le répertoire des images..."
ON_CLICK 2, Chr
ALPHA 3: TOP 3,45: LEFT 3,5
LIST 4: TOP 4,70: LEFT 4,5: WIDTH 4,200: HEIGHT 4,700
ON_CLICK 4, Chf

CHECK 5: TOP 5,TOP(4)+12: LEFT 5,WIDTH(4)+10:WIDTH 5,15
PRINT_LOCATE LEFT(5)+15,TOP(5)-12: PRINT "Appliquer"
PRINT_LOCATE LEFT(5)+15,TOP(5): PRINT " à tout le"
PRINT_LOCATE LEFT(5)+15,TOP(5)+12: PRINT "répertoire"

lfx = WIDTH(2)
ALPHA 10: TOP 10,7: LEFT 10,lfx+40
CAPTION 10,"X=                  Y=                ou cliquer"
SPIN 11: TOP 11,5: LEFT 11,lfx+60: WIDTH 11,60
SPIN 12: TOP 12,5: LEFT 12,lfx+150: WIDTH 12,60
ALPHA 13: TOP 13,30: LEFT 13,lfx+30
CAPTION 13,"Police:                                      Taille:"
EDIT 14: TOP 14,46: LEFT 14,lfx+30: WIDTH 14,180: TEXT 14,"Comic Sans MS"
ON_CLICK 14, Chp
SPIN 15: TOP 15,46: LEFT 15,lfx+220: WIDTH 15,55: POSITION 15,80
LIST 16: TOP 16,65: LEFT 16,lfx+30: WIDTH 16,195: HEIGHT 16, 650: HIDE 16
FONT_NAMES_LOAD 16
ON_CLICK 16, Chp1
ALPHA 17: TOP 17,70: LEFT 17,lfx: CAPTION 17,"Couleur texte:"
nbc = 9
DATA 0,0,0,255,255,255,160,160,160,255,0,0,0,255,0,0,0,255,255,255,0,128,64,0,255,0,255
FOR i% = 0 TO nbc-1
    pc = 20+i%
    PICTURE pc: TOP pc, 85: LEFT pc,lfx+i%*30: WIDTH pc,25: HEIGHT pc,20
    READ rt%: READ gt%: READ bt%: COLOR pc, rt%, gt%, bt%
    ON_CLICK pc, Chct
    ALPHA 30+i%: TOP 30+i%,TOP(pc)+20: LEFT 30+i%,LEFT(pc)+8
NEXT i%
rt% = 0: gt% = 0: bt% = 0: ' couleur de texte initiale (noir)
CAPTION 30,"X"
ALPHA 18: TOP 18,120: LEFT 18,lfx: CAPTION 18,"Couleur fond:"
DATA 0,0,0,255,255,255,160,160,160,255,0,0,0,255,0,0,0,255,255,255,0,128,64,0,255,0,255
DATA 254,254,254
FOR i% = 0 TO nbc
    pc = 40+i%
    PICTURE pc: TOP pc, 135: LEFT pc,lfx+i%*30: WIDTH pc,25: HEIGHT pc,20
    READ rf%: READ gf%: READ bf%: COLOR pc, rf%, gf%, bf%
    ON_CLICK pc, Chcf
    ALPHA 50+i%: TOP 50+i%,TOP(pc)+20: LEFT 50+i%,LEFT(pc)+8
NEXT i%
pc = 40+nbc
2D_TARGET_IS pc: 2D_LINE 0,0,25,20: 2D_LINE 0,20,25,0: ' couleur transparente
ALPHA 19: TOP 19,TOP(pc)-15: LEFT 19,LEFT(pc)-5: CAPTION 19,"Transp."
rf% = 255: gf% = 255: bf% = 255: ' couleur de fond initiale (blanc)
CAPTION 51,"X"

ALPHA 60: TOP 60,5: LEFT 60, 640: CAPTION 60,"Texte:"
MEMO 61: TOP 61,5: LEFT 61,680: WIDTH 61,320: HEIGHT 61,60
COLOR 61,255,255,180: FONT_SIZE 61,10
PRINT_LOCATE 700,65: PRINT "(&N= nom du fichier,  &D = date de prise de vue)"
CHECK 63: TOP 63,80: LEFT 63,LEFT(61)+20: CAPTION 63,"Gras"
CHECK 64: TOP 64,80: LEFT 64,LEFT(63)+100: CAPTION 64,"Italique"
CHECK 65: TOP 65,80: LEFT 65,LEFT(64)+100: WIDTH 65,80: CAPTION 65,"Souligné"
BUTTON 70: TOP 70, 102: LEFT 70,LEFT(61)+20: CAPTION 70,"Grille": ON_CLICK 70,Grille
BUTTON 71: TOP 71, 102: LEFT 71,LEFT(70)+85: CAPTION 71, "Annuler": ON_CLICK 71, Annul
BUTTON 72: TOP 72, 102: LEFT 72,LEFT(71)+85: CAPTION 72, "Exec": ON_CLICK 72, Exec
BUTTON 73: TOP 73, 140: LEFT 73,LEFT(70): WIDTH 73,120: CAPTION 73, "Enregistrer": ON_CLICK 73,Save1
BUTTON 85: TOP 85,140: LEFT 85,LEFT(73)+125: WIDTH 85,120
CAPTION 85,"Enregistrer sous...": ON_CLICK 85,Save
BUTTON 83: TOP 83,40: LEFT 83,640: WIDTH 83,30: CAPTION 83,"?": ON_CLICK 83,Aide
CHECK 84: TOP 84,168: LEFT 84,LEFT(70)+20: WIDTH 84,250
CAPTION 84,"Recopier les infos Exifs d'origine": MARK_ON 84
2D_TARGET_IS 0: 2D_LINE 636,0,636,190: 2D_LINE 636,132,WIDTH(0),132

p = 90
wp% = 780: hp% = wp%*3/4
PICTURE p: TOP p,190: LEFT p,220:  WIDTH p, wp%: HEIGHT p, hp%: STRETCH_ON p
COLOR p,180,180,180: ON_CLICK p, Chxy
pv = 91
PICTURE pv: TOP pv,-400: WIDTH pv,1000: HEIGHT pv,300: ' picture annexe pour fond transparent

OPEN_DIALOG 98
FILTER 98,"Fichiers image|*.jpg;*.bmp"
SAVE_DIALOG 99
FILTER 99,"Fichiers image|*.jpg;*.bmp"
IMAGE 100
occ = 0

END
' ==============================================================================
Chr:
a$ = FILE_NAME$(98)
IF LEN(a$) < 4 THEN RETURN
rep$ = FILE_EXTRACT_PATH$(a$)
EXECUTE_WAIT "Cmd.exe /c DIR " + rep$ + "*.jpg /B >" + fdir$
FILE_LOAD 4, fdir$
FILE_DELETE fdir$
TEXT 2, "- Clic une image dans la liste..."
RETURN
' ------------------------------------------------------------------------------
Chf:
IF occ = 1 THEN RETURN
occ = 1: ' pour éviter les collisions (clics trop rapides dans la liste)
Chf1:
f$ = rep$ + ITEM_INDEX$(4)
Chf2:
FILE_LOAD p, f$
Img_Infos(f$, wi%, hi%, dt$, ta%)
FONT_COLOR 2,0,0,255: TEXT 2, f$
CAPTION 3, STR$(wi%)+"x"+STR$(hi%)+" pixels, " + dt$
' date/heure de prise de vue, si exifs (sinon date/heure fichier)
jj = VAL(LEFT$(dt$,2)): mm = VAL(MID$(dt$,4,2)): aa = VAL(MID$(dt$,7,4))
hh = VAL(MID$(dt$,12,2)): mi = VAL(MID$(dt$,15,2)): ss = VAL(MID$(dt$,18,2))
wp% = wi%*hp%/hi%: WIDTH p, wp%
FILE_LOAD p, f$
ra = wp%/wi%
xr% = 0: yr% = 0
occ = 0
RETURN
' ------------------------------------------------------------------------------
Chp:
SHOW 16
RETURN
' ------------------------------------------------------------------------------
Chp1:
HIDE 16
TEXT 14, ITEM_INDEX$(16)
FONT_NAME 61, TEXT$(14)
RETURN
' ------------------------------------------------------------------------------
Chcf:
' couleur fond
FOR i% = 50 TO 50+nbc: CAPTION i%, "": NEXT i%
FOR i% = 40 TO 40+nbc
    IF CLICKED(i%) = 1 THEN EXIT_FOR
NEXT i%
rf% = COLOR_PIXEL_RED(i%,5,1): gf% = COLOR_PIXEL_GREEN(i%,5,1)
bf% = COLOR_PIXEL_BLUE(i%,5,1)
CAPTION 10+i%,"X"
RETURN
' ------------------------------------------------------------------------------
Chct:
' couleur texte
FOR i% = 30 TO 30+nbc-1: CAPTION i%, "": NEXT i%
FOR i% = 20 TO 20+nbc-1
    IF CLICKED(i%) = 1 THEN EXIT_FOR
NEXT i%
rt% = COLOR_PIXEL_RED(i%,5,1): gt% = COLOR_PIXEL_GREEN(i%,5,1)
bt% = COLOR_PIXEL_BLUE(i%,5,1)
CAPTION 10+i%,"X"
RETURN
' ------------------------------------------------------------------------------
Chxy:
IF ra <= 0 THEN ra = 1: ' RETURN: ' pas d'image affichée
xt% = MOUSE_X_LEFT_DOWN(p)/ra: yt% = MOUSE_Y_LEFT_DOWN(p)/ra
2D_TARGET_IS p: 2D_PEN_COLOR 255,0,255: 2D_PEN_WIDTH 5
IF xr% <> 0
    2D_IMAGE_PASTE 100,xr%-40,yr%-40
END_IF
2D_IMAGE_COPY 100,xt%-40,yt%-40,xt%+43,yt%+43
2D_LINE xt%-40,yt%,xt%+40,yt%: 2D_LINE xt%,yt%-40,xt%,yt%+40
POSITION 11, xt%: POSITION 12, yt%
xr% = xt%: yr% = yt%
RETURN
' ------------------------------------------------------------------------------
Grille:
IF f$ = "" THEN RETURN
IF gri% = 0
    2D_TARGET_IS p: 2D_PEN_COLOR 0,255,255: 2D_PEN_WIDTH 4
    FOR i% = 0 TO wi% STEP 100
        2D_LINE i%,0,i%,hi%
    NEXT i%
    FOR i% = 0 TO hi% STEP 100
        2D_LINE 0,i%,wi%,i%
    NEXT i%
    2D_PEN_COLOR 255,0,255
    FOR i% = 0 TO wi% STEP 500
        2D_LINE i%,0,i%,hi%
  NEXT i%
    FOR i% = 0 TO hi% STEP 500
        2D_LINE 0,i%,wi%,i%
    NEXT i%
    gri% = 1
ELSE
    FILE_LOAD p, f$
    gri% = 0
END_IF
RETURN
' ------------------------------------------------------------------------------
Exec:
txt$ = ITEM_READ$(61,1): IF txt$ = "" THEN RETURN
FILE_LOAD p, f$
IF rf% = 254: ' couleur transparente
    pi = pv: ' picture annexe
    2D_TARGET_IS pv: COLOR pv,254,254,254: CLS
ELSE
    pi = p
END_IF
2D_TARGET_IS pi: 2D_FILL_COLOR rf%,gf%,bf%: 2D_PEN_COLOR rt%,gt%,bt%
PRINT_TARGET_IS pi
FONT_NAME pi, TEXT$(14): FONT_SIZE pi, POSITION(15)
FONT_COLOR pi,rt%,gt%,bt%
FONT_BOLD_OFF pi: FONT_ITALIC_OFF pi: FONT_UNDERLINE_OFF pi
ht% = TEXT_HEIGHT(txt$,pi)
IF CHECKED(63) = 1 THEN FONT_BOLD pi
IF CHECKED(64) = 1 THEN FONT_ITALIC pi
IF CHECKED(65) = 1 THEN FONT_UNDERLINE pi
xt% = POSITION(11): yt% = POSITION(12)
FOR i% = 1 TO COUNT(61)
    txt$ = ITEM_READ$(61, i%)
    k% = INSTR(txt$, "&")
    WHILE k% > 0
        IF MID$(UPPER$(txt$), k%, 2) = "&N"
            txt$ = LEFT$(txt$, k%-1) + FILE_EXTRACT_NAME$(f$) + MID$(txt$, k%+2,1000)
        ELSE
            IF MID$(UPPER$(txt$), k%, 2) = "&D"
                txt$ = LEFT$(txt$, k%-1) + LEFT$(dt$, 16) + MID$(txt$, k%+2,1000)
            ELSE
                EXIT_WHILE
            END_IF
        END_IF
        k% = INSTR(txt$, "&")
    END_WHILE
    IF pi = p
        PRINT_LOCATE xt%, yt%: PRINT txt$: yt% = yt% + ht%
    ELSE
        wt% = TEXT_WIDTH(txt$, pv)
        2D_TARGET_IS pv: CLS: PRINT txt$
        2D_TARGET_IS p: 2D_PEN_COLOR rt%,gt%,bt%
        FOR y% = 0 TO ht%-1
            FOR x% = 0 TO wt%-1
                r% = COLOR_PIXEL_RED(pv, x%, y%)
                IF r% <> 254
                    g% = COLOR_PIXEL_GREEN(pv, x%, y%)
                    b% = COLOR_PIXEL_BLUE(pv, x%, y%)
                    2D_POINT xt%+x%, yt%+y%
                END_IF
            NEXT x%
            DISPLAY
        NEXT y%
        yt% = yt% + ht%
    END_IF
NEXT i%
RETURN
' ------------------------------------------------------------------------------
Annul:
FILE_LOAD p, f$
RETURN
' ------------------------------------------------------------------------------
Chopt:
IF CLICKED(74) = 1 THEN MARK_OFF 75
IF CLICKED(75) = 1 THEN MARK_OFF 74
RETURN
' ------------------------------------------------------------------------------
Save:
' Enregistrer sous...
IF CHECKED(5) = 1 THEN GOTO Global
a$ = FILE_NAME$(99)
IF LEN(a$) < 4 THEN RETURN
fr$ = a$
GOTO Save2
Save1:
' Enregistrer dans le fichier d'origine
IF CHECKED(5) = 1 THEN GOTO Global
IF f$ = "" THEN RETURN
fr$ = f$
Save2:
IF FILE_EXISTS(fsv$) = 1 THEN FILE_DELETE fsv$
FILE_COPY f$,fsv$: ' sauvegarde provisoire de l'original
FILE_SAVE p, ftmp$
EXECUTE_WAIT iv$ + ftmp$ + " /convert=" + fr$
FILE_DELETE ftmp$
IF CHECKED(84) = 1
    ' recopie des infos Exifs de l'original
    ' EXECUTE_WAIT exif$ + "-TagsFromFile " + fsv$ + " -all:all " + fr$
    fba$ = fsv$: GOSUB Mkbat
    FILE_DELETE fbat$: FILE_DELETE scr$
    ' suppression de la sauvegarde de l'original faite par ExifTool (inutile):
    FILE_DELETE fr$ + "_original": ' sauvegarde de l'original
END_IF
FILE_DELETE fsv$
RETURN
' ------------------------------------------------------------------------------
Global:
' traitement sur toutes les images du répertoire
IF TRIM$(ITEM_READ$(61,1)) = "" THEN RETURN: ' pas de texte
a$ = "Voulez-vous vraiment appliquer le traitement"+chr$(10)
a$=a$+"à toutes les images du répertoire ?"
i% = MESSAGE_CONFIRMATION_YES_NO(a$)
IF i% <> 1 THEN MARK_OFF 5: RETURN
a$ = "Répertoire de destination des images:"
rd$ = MESSAGE_INPUT$("Répertoire",a$,"")
IF rd$ = "" THEN RETURN
IF DIR_EXISTS(rd$) = 0
    i% = MESSAGE_CONFIRMATION_YES_NO("Répertoire " + rd$+" inexistant, le créer ?")
    IF i% <> 1 THEN RETURN
    DIR_MAKE rd$
END_IF
IF RIGHT$(rd$,1) <> "" THEN rd$ = rd$ + ""
FOR xim% = 1 TO COUNT(4)
    f$ = rep$ + ITEM_READ$(4, xim%): GOSUB Chf2
    GOSUB Exec
    FILE_SAVE p, ftmp$
    a$ = ITEM_READ$(4, xim%): a$ = LEFT$(a$, LEN(a$)-4)
    fr$ = rd$ + a$ + "_N.jpg"
    EXECUTE_WAIT iv$ + ftmp$ + " /convert=" + fr$
    FILE_DELETE ftmp$
    IF CHECKED(84) = 1
        ' recopie des infos Exifs de l'original
        ' EXECUTE_WAIT exif$ + "-TagsFromFile " + f$ + " -all:all " + fr$
        fba$ = f$: GOSUB Mkbat
        ' suppression de la sauvegarde de l'original faite par ExifTool (inutile):
        FILE_DELETE fr$ + "_original": ' sauvegarde de l'original
    END_IF
NEXT xim%
IF FILE_EXISTS(bat$)=1 THEN FILE_DELETE bat$
IF FILE_EXISTS(scr$)=1 THEN FILE_DELETE scr$
RETURN
' ------------------------------------------------------------------------------
Mkbat:
FILE_OPEN_WRITE 1, bat$: ' fichier .bat
    FILE_WRITELN 1, exif$ + "-TagsFromFile " + fba$ + " -all:all " + fr$
FILE_CLOSE 1
a$ = "CreateObject("+CHR$(34)+"Wscript.Shell"+CHR$(34)+").Run "
a$ = a$ + CHR$(34) + bat$ + CHR$(34) + ", 0, True"
FILE_OPEN_WRITE 1, scr$: ' script vbs
    FILE_WRITELN 1, a$
FILE_CLOSE 1
EXECUTE_WAIT "WSCRIPT.exe "+scr$
RETURN
' ------------------------------------------------------------------------------
SUB Img_infos(f$, w%, h%, d$, t%)
' Image f$ -> wi%, hi%, dt$, ta% (dimensions, date/heure de prise de vue, taille)
DIM_LOCAL a$, ftm$, irf$
FILEBIN_OPEN_READ 1, f$: ta% = FILEBIN_SIZE(1): FILEBIN_CLOSE 1: ' taille octets
ftm$ = "C:\Temp\Ifxwz.txt": ' fichier de manoeuvre
irf$ = "C:\Progra~2\Irfanv~1\i_view32.exe ": ' IrfanView
EXECUTE_WAIT irf$ + f$ + " /info=" + ftm$ + " /fullinfo"
FILE_OPEN_READ 9, ftm$: wi% = 0: hi% = 0: dt$ = ""
WHILE FILE_EOF(9) = 0: FILE_READLN 9, a$
    IF LEFT$(a$, 16) = "Image dimensions"
        a$ = MID$(a$, 20, 50)
        wi% = VAL(LEFT$(a$, INSTR(a$, " ") - 1))
        a$ = MID$(a$, INSTR(a$, " ") + 3, 50)
        hi% = VAL(LEFT$(a$, INSTR(a$, " ") - 1))
    ELSE
        IF LEFT$(a$, 14) = "File date/time"
            ' pour le cas où il n'y a pas d'Exifs
            a$ = MID$(a$, 18, 11) + MID$(a$, 31, 8)
            dt$ = LEFT$(a$,11) + RIGHT$(a$,8)
        ELSE
            IF LEFT$(a$, 16) = "DateTimeOriginal"
                a$ = MID$(a$, 20, 50)
                dt$ = MID$(a$,9,2)+"/"+MID$(a$,6,2)+"/"+LEFT$(a$,4)+MID$(a$,11,9)
                EXIT_WHILE
            END_IF
        END_IF
    END_IF
END_WHILE
FILE_CLOSE 9: FILE_DELETE ftm$
END_SUB
' ------------------------------------------------------------------------------
Aide:
DIM rc$: rc$ = CHR$(13)
a$="- LÉGENDES SUR PHOTOS -"+rc$+rc$
a$=a$+". Cliquer pour chosir le répertoire des images -> affichage de la liste des images."+rc$
a$=a$+". Cliquer l'image choisie dans la liste -> affichage de l'image."+rc$
a$=a$+". Saisir le texte à incruster, et choisir ses caractéristiques: police, taille,"+rc$
a$=a$+"  couleur, couleur de fond, enrichissements."+rc$
a$=a$+"    NB: dans le texte saisi, les expressions [ampersand]N et [ampersand]D seront"+rc$
a$=a$+"    remplacées respectivement par le nom strict du fichier (sans chemin) et la"+rc$
a$=a$+"    date/heure de prise de vue."+rc$
a$=a$+". Choisir l'emplacement (coin supérieur gauche) du texte sur l'image:"+rc$
a$=a$+"- cliquer dans l'image à l'emplacement voulu -> affichage d'une croix"+rc$
a$=a$+"            ou"+rc$
a$=a$+"- saisir les coordonnées X et Y: on peut afficher une grille au pas de 100"+rc$
a$=a$+"  pixels pour repérage: bouton 'Grille', en bascule."+rc$
a$=a$+". Puis cliquer le bouton 'Exec' pour un aperçu du résultat."+rc$+rc$
a$=a$+"On peut reprendre tous les réglages et refaire 'Exec' pour voir le résultat."+rc$+rc$
a$=a$+"Quand le résultat est satisfaisant, on peut l'enregistrer en jpg ou bmp:"+rc$
a$=a$+"- soit dans l'image d'origine qui sera écrasée: bouton 'Enregistrer'."+rc$
a$=a$+"- soit dans un nouveau fichier image: bouton 'Enregistrer sous...'."+rc$+rc$
a$=a$+"Par défaut, toutes les informations de prise de vue du fichier d'origine,"+rc$
a$=a$+"notamment la date et l'heure (infos 'Exifs') seront reportées dans le fichier"+rc$
a$=a$+"résultat (il est possible de décocher cette option si on le désire)."+rc$+rc$
a$=a$+"- TRAITEMENT PAR LOTS -"+rc$+rc$
a$=a$+"Il est possible d'appliquer le traitement ci-dessus à toutes les images d'un"+rc$
a$=a$+"même répertoire: cocher l'option 'Appliquer à tout le répertoire'."+rc$
a$=a$+"Mode opératoire: sélectionner la première image du répertoire, fixer les"+rc$
a$=a$+"paramètres, puis 'Exec' pour voir le résultat. Réajuster les paramètres"+rc$
a$=a$+"jusqu'à obtenir un résultat satisfaisant."+rc$
a$=a$+"Cliquer 'Enregistrer': le répertoire de destination sera demandé, puis créé"+rc$
a$=a$+"si nécessaire. Les images résultat porteront le suffixe _N, par exemple"+rc$
a$=a$+"DSCF1234.jpg sera enregistré en DSCF1234_N.jpg dans le répertoire résultat."+rc$
a$=a$+"Toutes les images résultat porteront le même texte au même emplacement, sauf"+rc$
a$=a$+"pour les paramètres [ampersand]N et [ampersand]D qui sont personnalisés pour"+rc$
a$=a$+"chaque image."+rc$
MESSAGE a$
FREE rc$
RETURN
' ------

PS concernant les date/heure fichier:
Pour mon cas, je classe les photos en fonction des date/heure de prise de vue (because deux séries de photos, mon épouse et moi, que j'interclasse dans l'ordre chronologique). (Et il vaut mieux que les deux appareils soient réglés à la même heure !).
D'où l'utilité de rétablir cette donnée après modifications (en effet, si on modifie une image: ajout de légende par exemple, elle prend la date/heure actuelle, et elle se retrouverait déclassée).

Mise à jour du 25/9 à 21h50: Sur une suggestion de Nardo, appel à Exiftool.exe (au lieu de Filetouch.exe) pour transférer les données Exif dans l'image résultat.
Et ajout d'un petit mode d'emploi.
26/9: dans le texte saisi, les expressions &N et &D sont remplacées respectivement par le nom du fichier et la date de prise de vue.
26/9 22h00: ajout du traitement par lots (sur une série d'images).
27/9 20h10: suppression de la fenêtre noire à l'exécution de ExifTool.


Dernière édition par JL35 le Jeu 27 Sep 2012 - 20:09, édité 5 fois
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 15:18

Hello JL35,

Ça m'a l'air pas mal... je peux pas tester ton prg là où je suis mais je ferai le test ce soir... c'est toujours pratique ce genre d'utilitaire... Wink

1- Dans ta procédure Img_infos: A quoi servent les paramètres w%,h%,d$ et t% ?

2 - Tu déclares une variable globale iv$ que tu n'utilises pas ensuite dans Img_info (cf irf$) (en plus, les chaines ne sont pas identiques Wink )


PS: Ça serait bien de rajouter quelques commentaires dans ton source. Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 15:34

eh Nardo ! merci pour la réactivité !
Tu as évidemment raison pour les commentaires dans le source, je l'avais fait d'abord pour mon usage personnel et j'ai pensé que ça pourrait en intéresser d'autres. Mea culpa.
Maintenant ce n'est pas très compliqué, comme ce que je fais en général, si je trouve compliqué je mets spontanément des commentaires Very Happy pour moi Very Happy

Dans la Sub, w%, h%, d$ et t% sont bidons et locales en remplacement des variables réelles wi%, hi%, dt$ et ta% données en paramètres.
Si je mets SUB Img_Infos(f$,wi%,hi%,dt$,ta%) ça me renvoie des zéros...

Effectivement j'ai gardé une redéfinition du chemin de IrfanView dans la sub pour que cette sub soit réutilisable ailleurs, la chaîne est légèrement différente (involontairement) mais le chemin est le même.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 16:10

Si tu veux que ça passe dans tous les cas, pourquoi ne pas passer le chemin de irfanview en paramètre à la procédure ?...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ajouter des légendes à des photos Empty
MessageSujet: re   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 16:42

Je vais regarder çà de près, très près ce soir... Laughing

Peut être pourrais ajouter un outils à mon "Picture tools"... Wink
si tu m' y autorises biensûr... Laughing
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 17:02

@Nardo, oui certes, mais ça obligerait à déclarer ce chemin dans tous les programme qui font appel à la Sub, même s'ils n'en ont pas l'usage par ailleurs... c'est une utilisation locale, donc une déclaration locale... ça me paraît plus 'portable'.

@ygeronimi, il est bien entendu que j'autorise tout ce qu'on veut ! ici on se sert comme on veut, ça fait même plaisir d'être copié !

PS si on n'en a pas l'usage (pour les raisons que j'ai évoquées plus haut) on peut évidemment se passer du FileTouch.exe (modification des dates/heures), ça fait une ressource externe en moins. Mais bon, je trouve que c'est utile quand même.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 18:06

JL35 a écrit:
@Nardo, oui certes, mais ça obligerait à déclarer ce chemin dans tous les programme qui font appel à la Sub, même s'ils n'en ont pas l'usage par ailleurs... c'est une utilisation locale, donc une déclaration locale... ça me paraît plus 'portable'.
Si tu veux vraiment faire du portable, tu peux utiliser une chaine globale "locale" (une globale définie comme pour les "return" de fonction") qui définie un chemin par défaut lors de la déclaration du DIM (le tiens par exemple) et derrière tu fait un FILE_EXISTS
si pas trouvé alors tu proposes une boite de dialogue qui te permet de sélectionner l'executable....

Exemple:
Code:

SUB Maprocedure(...)
  IF VARIABLE("MaProcedure_irfan$")=0 THEN DIM MaProcedure_irfan$:MaProcedure_irfan$="C:\...\irfanview.exe"
  IF FILE_EXISTS(MaProcedure_irfan$)=0
    FILE_SELECT ....
    ....
    MaProcedure_irfan$=PATHNAME$(...
  END_IF
  ...
END_SUB
Là t'es tranquille, ça passe à tous les coups...


Dernière édition par Nardo26 le Lun 24 Sep 2012 - 18:20, édité 2 fois (Raison : Oubli d'un '=' dans le code... ;))
Revenir en haut Aller en bas
http://nardo26.lescigales.org
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 18:16

Disons que c'est une procédure qui est dans ma bibliothèque, donc à usage personnel (sauf si je diffusais ma bibliothèque de procédures, là ton argument serait valable), et donc chez moi le chemin des exécutables est toujours le même, ce sont des constantes en 'dur' dans les procédures.

Tu as raison sur le fond, certes, c'est valable si on est plusieurs utilisateurs.
Moi je parlais de portable ... d'un programme perso à un autre tout aussi perso, pas d'un site à un autre.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 18:21

Dans ce cas là, pas de problème... Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 23:02

Sympa JL35. Seule critique: ton choix de couleur pour la fenêtre, mais bon ça va, ce n'est pas trop dur à tuner Wink
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 23:32

de gustibus et coloribus non disputandum... comme tu dis, c'est facile à changer !
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ajouter des légendes à des photos Empty
MessageSujet: re   Ajouter des légendes à des photos EmptyLun 24 Sep 2012 - 23:55

Ok , je finis l'intégration de Coloramic et je m'attaque à ton code... Laughing
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 0:16

Bonsoir JL35,

Alors je viens de tester :

  • j'obtiens une croix rose à la place du texte... scratch
  • Il faudrait rajouter un FILTER sur le bouton Sauvegarder sous, car il n'y a pas d'extension par défaut et si on n'en precise pas une, cela plante.
  • Mon image avait pour date : 15/01/2012 17:44 et la sauvegarde 15/01/2012 16:44
  • Les EXIF sur les jpg sont perdus (je regarde si irfanview peut extraire/ajouter les EXIFs on peut mais il faut télécharger les plugins : METADATA.DLL)


Je continue à tester...
Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 0:56

rapidement because Sleep
La croix rose c'est le positionnement du curseur quand tu cliques, le texte se placera à cet endroit quand tu feras 'Exec' (x et y sont mis à jour, normalement).
OK, il manque le mode d'emploi.
Sauvegarder sous.. ok, c'est à voir
Dans mon sub Img_Infos je vais bien lire les exifs du fichier par l'intermédiaire de IrfanView en natif ? c'est précisé dans l'aide de irfanview, command line options (/info /fullinfo)
Ton erreur de date (heure)... à voir... demain.

et merci Nardo pour le retour, et... bonne nuit à tous !
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 1:02

Pour les EXIF, il faut télécharger les plugins (pas dispo en natif), je viens de faire la mise à jour 4.33 (j'avais la 4.30) idem
donc penser à charger les plugins (ça rame à mort sur leur serveur, faut pas être pressé, j'ai pas encore fini le téléchargement au bout de 20 minutes)

EDIT :

- Je viens d'installer le pack complet des plugins et pour les EXIFS : nada ! ca fonctionne mais tu récupères uniquement la date pour l'affichage (DateTimeOriginal) ... Les autres données sont perdues (j'aime bien conserver les infos de réglages Wink ).
- Pour la croix rose c'est ok...
- il serait intéressant de pouvoir faire un batch du style: pouvoir appliquer le même texte au même emplacement etc... à toutes les images du répertoire courant (avec sauvegarde automatique par exemple mes images initiales IMG100_####.JPG et avoir IMG_<DATE><HHMMSS>.jpg au final.)

- Pour la date : au chargement l'info date est correcte j'ai bien 17:44 d'affiché mais FileTouch me vire x heure(s), ça varie suivant les images (je pige pas pourquoi)...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ajouter des légendes à des photos Empty
MessageSujet: re   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 4:49

@ JL35,

Je ne sais pas sur quel système d'exploitation tu es mais j'ai un affichage
bizarre sur w7.

(marges 8 de chaque cotés soit 16
haut 50 et bas 8 soit 58)

bon A+ Sleep Sleep Sleep
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 14:19

@ygeronimi
Je suis sous W7, comme toi, pour moi les marges du Form 0 sont normales, 8 de chaque côté, 30 en haut et 8 en bas ? ou même plutôt 26 en haut au lieu de 30, puisqu'on est en Border_Small.
Seule anomalie pour moi, l'affichage du caption du Form 0 qui est tronqué en bas, mais ça c'est connu dans le cas de Border_Small.
Je ne vois pas bien ton problème...

@Nardo,
Je viens de voir que j'ai tous les plugins IrfanView installés, je pensais que le fullinfo était en natif, mais tu as sûrement raison, ça doit être dans un des plugins.
Mais je m'étonne que tu ne récupères pas toutes les infos de prise de vue, il me semble bien qu'elles y sont toutes dans le fichier résultat (vitesse, ouverture, focale, Iso, etc.), évidemment je ne les exploite pas dans mon programme.
Pour les traitements en série, dans mon esprit le programme est fait pour sélectionner quelques images dans une série pour en faire des images-titres.
On peut facilement envisager de marquer par programme toutes les images d'un répertoire avec le nom, la date, et éventuellement les infos de prise de vue (je crois que je l'ai fait dans un autre programme), mais à mon avis c'est dans un esprit un peu différent de ce que j'ai fait ici... ça se discute...

Quoi qu'il en soit, vous pouvez voir que le programme est très simple, court (300 lignes), et très facile à modifier/adapter, il y a tous les éléments...
Par exemple le choix des couleurs texte/fond est très arbitraire et facile à modifier si on les trouve un peu agressives.


Dernière édition par JL35 le Mar 25 Sep 2012 - 14:31, édité 1 fois
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 14:31

Pareil pour moi JL35, je n'ai que le problème connue de l'affichage du caption du Form 0 qui est tronqué en bas
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 14:32

Bonjour ami Jicehel, on s'est croisés (j'éditais)-...

@Nardo
Pardon mais j'ai le cerveau un peu embrumé ces jours-ci (un bon rhume) et je viens seulement de comprendre ce que tu voulais dire avec les infos Exif ! Embarassed
Effectivement, vu le principe du système:
Lecture du jpg dans un picture -> ajout du texte dans le picture -> sauvegarde du picture dans un bmp -> conversion du bmp en jpg
et là, hélas, on a perdu toutes les infos Exif d'origine, c'est un fichier jpg brut tout neuf dans lequel on force éventuelle la date/heure de création...
Et je ne vois pas du tout comment on pourrait les conserver (à part les écrire avec le texte sur l'image elle-même...) scratch

Quant à l'heure modifiée par FileTouch, il va falloir que je regarde ça de plus près.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ajouter des légendes à des photos Empty
MessageSujet: re   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 14:58

Ajouter des légendes à des photos Captur47
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 15:08

Eh bien ça me paraît correct, j'ai exactement la même chose chez moi, qu'est-ce donc qui te choque ?
(à part je le répète le caption du Form 0 dont la partie inférieure est tronquée, et ça c'est un phénomène connu: quand on passe du Border_Normal au Border_Small la position du texte n'est pas réajustée en vertical).

@Nardo
Pour ton problème de FileTouche, je ne vois pas... j'ai vérifié mes dates/heures et tout est correct, j'ai refait des essais avec d'autres fichiers et ça marche... tu as bien coché la case 'Forcer date et heure d'origine' et décoché l'autre (où on force la date à une valeur donnée) ?
c'est vrai que c'est soit l'une, soit aucune, mais pas les deux en même temps !
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Ajouter des légendes à des photos Empty
MessageSujet: re   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 15:14

Je ne travail jamais avec border small donc je pensais que tu avais un souci dans les marges...
...autant pour moi Laughing
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 15:31

Moi, pas de souci, sauf esthétique, c'est Panoramic qui en a un, mais c'est bénin.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 16:50

Hello JL35,

Pour les EXIF, il y a bien ExifTool mais cela fait rajouter un executable de plus...
J'ai pas encore bien regardé comment il fonctionnait...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos EmptyMar 25 Sep 2012 - 17:18

Bonjour Nardo, oui je le connais, mais si c'est juste pour l'extraction des exifs IrfanView me convient puisqu'il sert aussi à d'autres choses (conversion bmp->jpg notamment).
Par contre je ne crois pas qu'il soit possible de rajouter des exifs à un fichier jpg lambda...
Il aurait fallu pouvoir travailler directement dans le jpg et le réécrire, mais si on passe par du bmp on perd tout.

Je crois que j'ai un logiciel qui permet d'écrire du texte dans une image (donc dans le jpg), je vais regarder, mais là ce n'est plus du Panoramic, on se contente d'écrire la ligne de commande.

J'ai retrouvé, ça s'appelle Text2img.exe, c'est payant (mais pas cher), il y a assez longtemps que je ne l'ai pas utilisé mais ça permet d'écrire du texte dans l'image, ou dans une image uniforme créée, et ça peut se lancer en ligne de commande (donc depuis Panoramic). Je pense que ça doit garder les exifs, mais il faut que je vérifie.
Tu me diras si ça t'intéresse, je te donnerai les éléments.

PS après essai, Text2img ne reporte pas les exifs dans le fichier résultat, hélas...
(en plus d'ExifTool tu as ExifLoad, ExifRead et ExifTags)

rePS j'ai trouvé un logiciel (freeware) qui permet de recopier les exifs du fichier d'origine dans le fichier résultat (comme ici), j'ai essayé, ça marche, mais malheureusement pas en ligne de commande, donc pas depuis Panoramic, c'est à faire après coup, et ça peut se faire par lots.
Je cherchais midi à quatorze heures, mais ExifTool semble faire tout ça très bien, et en ligne de commande en plus, la syntaxe a l'air assez compliquée, mais je regarde de plus près, ça vaudra sans doute le coup de l'intégrer (enfin l'appel, comme module externe).


Dernière édition par JL35 le Mar 25 Sep 2012 - 18:15, édité 1 fois
Revenir en haut Aller en bas
Contenu sponsorisé





Ajouter des légendes à des photos Empty
MessageSujet: Re: Ajouter des légendes à des photos   Ajouter des légendes à des photos Empty

Revenir en haut Aller en bas
 
Ajouter des légendes à des photos
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Une SUB pour ajouter un texte
» ajouter des blancs dans un TXT
» Ajouter une recherche dans l'aide
» Classement de photos
» Affichage de photos

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: