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 |
|
|
| Le code hexadécimal pour les image ??? | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: Le code hexadécimal pour les image ??? Sam 14 Nov 2009 - 20:08 | |
| Salut à tous ! Je ne réussi pas à faire un code hexadécimal d'une image. voici le code que je veut y mettre ceci : - Code:
-
label ouvrir,deactive:dim NomFichier$ dim NomPath$,Nom$,i,j
left 0,80 top 0,100 width 0,800 height 0,300 caption 0,"ImageDocument \ Déchifrage d'image"
picture 1:left 1,15:top 1,15:width 1,250:height 1,200 color 1,0,0,0
button 5:top 5,220:left 5,20:width 5,240:height 5,40 caption 5,"OUVRIR":font_bold 5:font_size 5,10 on_click 5,ouvrir
alpha 6:left 6,270:width 6,300:top 6,225 caption 6,"Max 250x200":font_size 6,20:font_bold 6 font_name 6,"Times New Roman"
edit 2:left 2,370:top 2,20:width 2,400 alpha 3:left 3,280:top 3,22:caption 3,"Nom :" font_bold 3
edit 8:left 8,370:top 8,50:width 8,400 alpha 9:left 9,280:top 9,52:caption 9,"Emplacement :" font_bold 9
edit 10:left 10,370:top 10,80:width 10,400 alpha 11:left 11,280:top 11,82:caption 11,"Au Complet :" font_bold 11
memo 12:left 12,460:top 12,120:width 12,310 height 12,140:alpha 13:left 13,310:top 13,130 caption 13,"Code Hexadécimal :":font_bold 13 font_size 13,10:bar_both 12:on_click 12,deactive end
ouvrir: open_dialog 7 filter 7,"JPG/JPEG - fichiers JPG|*.jpg;*.bmp|BMP/BITMAP - fichiers BMP" NomFichier$=file_name$(7) delete 7 if (file_exists(NomFichier$)=1) file_load 1,NomFichier$ j=len(nomfichier$) for i=j to 1 step -1 if (mid$(NomFichier$,i,1)="\") NomPath$=mid$(NomFichier$,1,i) if (i<j) then Nom$=mid$(NomFichier$,i+1,j-i) text 2,Nom$:text 10,NomFichier$ text 8,NomPath$ caption 0,"Déchifrage d'image - "+nom$ exit_for end_if next i end_if return
deactive: inactive 12:wait 500 beep:message "Impossible de changer le code Hexadécimal ;" active 12 return
|
| | | Invité Invité
| Sujet: Re: Le code hexadécimal pour les image ??? Sam 14 Nov 2009 - 20:43 | |
| Salut Nicolas. Pour beaucoup de choses, je ne sais pas où tu veux en venir. Cela ne veux pas dire que tu dois arrêter, au contraire, de codage en codage, on accumule les connaissances, et on écarte les pièges et les erreurs. Je ne comprends pas ton programme. Tu charges une images, ok, tu fais une fiche, ok. Mais comment peut tu dire que tu ne peux pas changer le code hexadécimal, vu qu'il n'y a aucun code dans ton programme pour le faire. Si tu essaye de charger une image dans un memo, de toute façon cela ne marchera pas. Certains codes apparemment arrêtent l'affichage. J'ai déjà remarqué cela. Je n'ai pas fais de teste pour savoir lesquels, je ne fais de teste sur une chose que lorsque j'ai besoin d'arriver à un résultat, et que j'ai du temps. Même étant à la retraite depuis un an, il me faudrait des journées de 48 heures + le repos pour arriver à aller au bout de mes idées. Mais de toute manière charger une image dans un memo n'ait pas de l'hexa. Je ne comprends pas ce que tu veux. @+ |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le code hexadécimal pour les image ??? Dim 15 Nov 2009 - 2:28 | |
| Nicolas, cosmos a raison sur les deux points: - d'abord tu devrais dire clairement ce que tu cherches à faire au lieu de soumettre un bout de code sans aucune explication ni aucun commentaire. - le code hexadécimal, ça n'existe pas pour la machine, ce n'est qu'une façon pratique de représenter les octets binaires.
Alors, qu'est-ce que c'est le code hexadécimal d'une image ??? | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: ??? Dim 15 Nov 2009 - 14:45 | |
| Je pense qu'il veut obtenir les chiffres correspondant aux pixels de l'image exprimés en héxadécimal, mais je ne sais pas comment on peut lire ces chiffres en panoramic. Par contre, il est possible de modifier les pixels d'une image avec 2d_point et enregistrer le résultat final, mais ça risque d'être folklorique. Il vaut mieux utiliser un logiciel de retouche d'image. | |
| | | Invité Invité
| Sujet: Re: Le code hexadécimal pour les image ??? Dim 15 Nov 2009 - 16:11 | |
| Je n'ai pas encore travaillé sur les fichiers binaires. Moi je pense que c'est lisant chaque octet d'un fichier que l'on peut écrire récupérer le code et le transposer en hexa dans un memo ou autre. Ayant vu qu'il y avait je crois des problèmes avec ce type de fichier, c'est à vous de voir si il y a des contraintes ou pas. pour l'instant j'ai d'autres préoccupations. @+ |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le code hexadécimal pour les image ??? Dim 15 Nov 2009 - 18:37 | |
| S'il s'agit d'une image BMP, dont la structure est connue, on peut toujours récupérer le code RGB d'un pixel donné: en général 3 ou 4 octets par pixel (c'est précisé dans l'en-tête), un octet (256 possibilités) par couleur élémentaire rouge, vert, bleu, soit au total 256*256*256 couleurs possibles. Pour les autres formats (JPG, etc) qui sont plus ou moins compressés, là il n'y a sûrement pas de solution simple, le format est beaucoup plus compliqué.
Quant à modifier des valeurs dans l'image, Panoramic n'est pas le langage le plus adapté pour bricoler dans les fichiers en binaire (voir les autres topics sur le sujet, c'est un peu la galère). | |
| | | Invité Invité
| Sujet: Re: Le code hexadécimal pour les image ??? Dim 15 Nov 2009 - 19:15 | |
| Ben en faite voici le code avec l'hexadécimal que j'ai pris ; - Code:
-
label ouvrir,deactive:dim NomFichier$ label nxf,dphexa,ConvHex dim NomPath$,Nom$,i,j dim ll%,fm$,fh$,ad,nld%,lof dim a$,b$,c$,h$,lh%,i%,d,x$,j%
fm$ = "C:\Temp\Hexa.tmp" fh$ = "C:\Temp\Hexa.dat"
left 0,80 top 0,100 width 0,800 height 0,300 caption 0,"ImageDocument \ Déchifrage d'image"
picture 1:left 1,15:top 1,15:width 1,250:height 1,200 color 1,0,0,0
button 5:top 5,220:left 5,20:width 5,240:height 5,40 caption 5,"OUVRIR":font_bold 5:font_size 5,10 on_click 5,ouvrir
alpha 6:left 6,270:width 6,300:top 6,225 caption 6,"Max 250x200":font_size 6,20:font_bold 6 font_name 6,"Times New Roman"
edit 2:left 2,370:top 2,20:width 2,400 alpha 3:left 3,280:top 3,22:caption 3,"Nom :" font_bold 3
edit 8:left 8,370:top 8,50:width 8,400 alpha 9:left 9,280:top 9,52:caption 9,"Emplacement :" font_bold 9
edit 10:left 10,370:top 10,80:width 10,400 alpha 11:left 11,280:top 11,82:caption 11,"Au Complet :" font_bold 11
memo 12:left 12,460:top 12,120:width 12,310 height 12,140:alpha 13:left 13,310:top 13,130 caption 13,"Code Hexadécimal :":font_bold 13 font_size 13,10:bar_both 12:on_click 12,deactive
end
ouvrir: open_dialog 7 filter 7,"JPG/JPEG - fichiers JPG|*.jpg;*.bmp|BMP/BITMAP - fichiers BMP" NomFichier$=file_name$(7) delete 7 if (file_exists(NomFichier$)=1) file_load 1,NomFichier$ j=len(nomfichier$) for i=j to 1 step -1 if (mid$(NomFichier$,i,1)="\") NomPath$=mid$(NomFichier$,1,i) if (i<j) then Nom$=mid$(NomFichier$,i+1,j-i) text 2,Nom$:text 10,NomFichier$ text 8,NomPath$ caption 0,"Déchifrage d'image - "+nom$ exit_for end_if next i end_if gosub dphexa return
deactive: inactive 12:wait 500 beep:message "Impossible de changer le code Hexadécimal ;" active 12 return
DpHexa: ll% = 16 if file_exists(fh$)=1 then file_delete fh$ FILEBIN_OPEN_READ 2, fm$ FILE_OPEN_WRITE 3, fh$ lof = filebin_size(2) ad = 0 nld% = INT(lof/ll%): If FRAC(lof/ll%) > 0 Then nld% = nld% + 1 FOR j% = 1 TO nld% IF FILEBIN_POS(2) >= lof THEN GOTO nxf d = ad: lh% = 6: GOSUB ConvHex a$ = h$ + ": " b$ = " ": c$ = "" FOR i% = 1 TO ll% IF FILEBIN_POS(2) < lof FILEBIN_READ 2, d x$=".": IF d >= 32 THEN x$ = CHR$(d) b$=b$ + x$ lh%=2: GOSUB ConvHex c$=c$+h$+" " END_IF NEXT i% IF LEN(c$) < ll%*3 THEN c$ = c$ + STRING$(3*ll% - LEN(c$)," ") FILE_WRITELN 3, a$ + c$ + b$ ad = ad + ll% NEXT j% nxf: FILEBIN_CLOSE 2 FILE_CLOSE 3 RETURN
ConvHex: h$="" repeat h$ = mid$("0123456789ABCDEF",1+16*FRAC(d/16),1) + h$ d = int(d/16) until d <= 0 if len(h$) < lh% then h$ = string$(lh% - len(h$), "0") + h$ return
( J'ai utilisé une autre manière de programmer, je l'appelle la façon "3") |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le code hexadécimal pour les image ??? Dim 15 Nov 2009 - 20:48 | |
| Appelle-la comme tu voudras, mais par pitié Nicolas, mets des commentaires dans tes programmes, qu'on sache au moins ce que tu cherches à faire, puisque si tu soumets des codes c'est pour que les autres les essaient. Et précises si ça fait ce que tu veux ou non.
Perso j'ai depuis longtemps pris l'habitude de mettre en tête de tous mes programmes quelques lignes pour expliquer ce que ça fait, les paramètres éventuels en entrée et le résultat attendu en sortie, et tout le long du programme le maximum de commentaires sur le déroulement.
Quelque chose qui te paraît évident à toi ne le sera pas forcément pour les autres (ni même à toi-même quelques mois ou années plus tard). Et les autres n'ont pas forcément envie de décrypter ce que tu as voulu faire en essayant ton programme, sans savoir ce qu'ils doivent en attendre, sans même savoir si ton code te donne satisfaction ou pas.
Nicolas, astucieux ton sous-programme de conversion en hexadécimal ! tu l'as inventé tout seul ? | |
| | | Contenu sponsorisé
| Sujet: Re: Le code hexadécimal pour les image ??? | |
| |
| | | | Le code hexadécimal pour les image ??? | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |