Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Afficher correctement une image JPEG Mer 18 Aoû 2010 - 16:48 | |
| Suite à l'utilisation de IrfanView dans un autre post (n'en déplaise à JL35 ) pour afficher une image jpg je me suis demandé si il n'existait pas un autre moyen... - Code:
-
label JPEG_Init gosub JPEG_Init : ' Init des variables de traitement Jpg
dim img$
' Une image quelconque de dimension superieure à 105x105 pixels... img$="D:\PERSO\RESETPLL.JPG"
PICTURE 1: FILE_LOAD 1,img$ : ' Que c'est pas beau !!!
JPEG_open%=2 : JPEG_open$=img$ : gosub JPEG_open : ' Là ça va mieux !
' on attend 3 secondes avant de refermer l'image.. WAIT 3000 : gosub JPEG_close
end
' ******************************************************************************************* ' * PROCEDURES FORMAT JPEG ' *******************************************************************************************
' ----- Initialisation des differentes variables de traitement de Jpg JPEG_Init: ' -- JPEG_dim dim JPEG_dim$,JPEG_dim%(6),JPEG_Height%,JPEG_Width% label JPEG_dim ' -- JPEG_open / close dim JPEG_open%,JPEG_open$ label JPEG_open,JPEG_close return
' ----- Affiche une image centrée par rapport à l'écran ' Utilise 2 objets : JPEG_open% et JPEG_open%+1 JPEG_open: ' init du formulaire qui va contenir l'objet picture FORM JPEG_open% : COMMAND_TARGET_IS JPEG_open% BORDER_HIDE JPEG_open% JPEG_dim$=JPEG_open$: gosub JPEG_dim : ' on récupère les dimensions de l'image ' puis on centre le formulaire : LEFT JPEG_open%,(SCREEN_X - JPEG_Width%)/2 TOP JPEG_open%,(SCREEN_Y - JPEG_Height%)/2 ' avec les bonnes dimensions WIDTH JPEG_open%,JPEG_Width% HEIGHT JPEG_open%,JPEG_Height% ' init du picture PICTURE JPEG_open%+1 WIDTH JPEG_open%+1,JPEG_Width% HEIGHT JPEG_open%+1,JPEG_Height% FILE_LOAD JPEG_open%+1,JPEG_open$ COMMAND_TARGET_IS 0 return
JPEG_close: DELETE JPEG_open%+1 : ' supprime l'objet picture DELETE JPEG_open% : ' supprime le formulaire return
' ----- Determination des dimensions d'une image JPG JPEG_dim: FILEBIN_OPEN_READ JPEG_open%+2,JPEG_dim$ FILEBIN_POSITION JPEG_open%+2,4 FILEBIN_BLOCK_READ JPEG_open%+2,2,JPEG_dim%(0) JPEG_dim%(5)=(JPEG_dim%(0)*256)+JPEG_dim%(1) FILEBIN_BLOCK_READ JPEG_open%+2,5,JPEG_dim%(0) JPEG_dim$=chr$(JPEG_dim%(0))+chr$(JPEG_dim%(1))+chr$(JPEG_dim%(2))+chr$(JPEG_dim%(3)) if JPEG_dim$<>"JFIF" JPEG_dim%(0)=message_warning_OK("JPEG_dim: Format de fichier incorrect !") FILEBIN_CLOSE JPEG_open%+2 return end_if JPEG_dim%(2)=255:JPEG_dim%(3)=255: JPEG_dim%(4)=2 WHILE (JPEG_dim%(2)<>255) or ((JPEG_dim%(3)<>192) and (JPEG_dim%(3)<>194)) JPEG_dim%(4) = JPEG_dim%(4) + JPEG_dim%(5) + 2 FILEBIN_POSITION JPEG_open%+2,JPEG_dim%(4) FILEBIN_BLOCK_READ JPEG_open%+2,2,JPEG_dim%(2) FILEBIN_BLOCK_READ JPEG_open%+2,2,JPEG_dim%(0) :JPEG_dim%(5)=(JPEG_dim%(0)*256)+JPEG_dim%(1) END_WHILE FILEBIN_READ JPEG_open%+2,JPEG_dim%(0) FILEBIN_BLOCK_READ JPEG_open%+2,2,JPEG_dim%(0): JPEG_Height%=(JPEG_dim%(0)*256)+JPEG_dim%(1) FILEBIN_BLOCK_READ JPEG_open%+2,2,JPEG_dim%(0): JPEG_Width%=(JPEG_dim%(0)*256)+JPEG_dim%(1) FILEBIN_CLOSE JPEG_open%+2 JPEG_dim%(0)=0 RETURN
| |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Jeu 19 Aoû 2010 - 13:06 | |
| | |
|
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Afficher correctement une image JPEG Jeu 19 Aoû 2010 - 13:17 | |
| Oulaaaaa..... loupé ! Je ne suis pas allé aussi loin que vous dans l'analyse du Jpg... mon truc c'est vraiment pour les jpeg de base... je viens de vérifier à l'instant : cela ne marche pas dans tout les cas... PS: Cela serait vraiment bien que la fonction de recherche du site fonctionne... | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Afficher correctement une image JPEG Jeu 19 Aoû 2010 - 14:07 | |
| Ca, c'est vrai ! On ne peut chercher que les posts pour un auteur donné. Aucun critère contextuel, mots-clé etc ne fonctionne ! | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Afficher correctement une image JPEG Ven 3 Sep 2010 - 11:57 | |
| Fausse joie, Nardo, en lisant le début j'ai bien cru que tu avais trouvé la solution miracle pour les dimensions jpg. Mais voilà, il n'y a pas de miracle, et on s'y était bien cassé les dents avec jjn4 (j'avais trouvé une solution idéale, mais le traître m'avait déniché 2 images parmi des milliers qui ne rentraient pas dans le moule). En fait il faut chercher la dernière (et non la première) occurence de la séquence qui annonce les dimensions. La recherche dans un fichier binaire étant un peu pénible et trop lourde (et donc bien trop longue) en Panoramic (qui reconnaissons-le n'est pas fait pour ça), il faudrait pouvoir faire deux choses comme en basic classique: - lire tout le fichier jpg en une seule fois dans une variable string (ça marche, même pour des fichiers de plusieurs mégas, avec nos mémoires actuelles) - avoir un INSTR qui reparte de la dernière occurence trouvée (index de départ de recherche dans la chaîne) C'est du travail en mémoire, et ça va très vite. Dans l'état actuel des choses, pour la rapidité je ne vois que IrfanView... (ne t'en déplaise ) Il doit y avoir plein d'autres programmes externes qui donnent les dimensions, mais comme IrfanView fait aussi plein d'autres choses avec des images, et en ligne de commande par-dessus le marché, sans affichage, ce qui est assez rare, pour moi c'est le couteau suisse. | |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Ven 3 Sep 2010 - 23:29 | |
| Le traitre fait : Gnia gnia gnia gnia ! (rire sardonique) Alors, de retour ? Ces vacances ont été bonnes ? (le forum avait l'air de s'ennuyer, en ton absence) | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Afficher correctement une image JPEG Sam 4 Sep 2010 - 0:00 | |
| Le tour de la Méditerranée occidentale, chaleur infernale ! mais intéressant dans l'ensemble. Content de retrouver mon foyer, avec son extension: le forum ! bonne nuit et à demain | |
|
Contenu sponsorisé
| Sujet: Re: Afficher correctement une image JPEG | |
| |
|