JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Redimensionner une image Sam 30 Aoû 2014 - 23:01 | |
| J'ai trouvé un truc pour redimensionner une image en pur Panoramic. Les contraintes (Panoramic): l'image doit être du type Jpg ou Bmp, et le résultat est obligatoirement Bmp. Il n'y a pas de contrôle sur les dimensions demandées, si elles ne sont pas proportionnelles aux dimensions d'origine l'image résultante sera déformée (mais ça peut être voulu). C'est une petite sub de rien du tout: - Code:
-
SUB RedimImg(f$,w,h,fr$) ' Redimensionner l'image f$ (Jpg, Bmp) en wxh pixels, dans fr$ (obligatoirement Bmp) ' Si f$ est un fichier .txt, c'est une liste d'images de la forme: ' <Path image Jpg/Bmp>;<Path résultat Bmp>, (et dans ce cas fr$ est inutile). DIM_LOCAL a$,k% FORM 1000: TOP 1000,0: LEFT 1000,0: WIDTH 1000,w: HEIGHT 1000,h: BORDER_HIDE 1000 PICTURE 1001: PARENT 1001,1000: FULL_SPACE 1001: STRETCH_ON 1001 IMAGE 1002: 2D_TARGET_IS 0 IF UPPER$(FILE_EXTRACT_EXTENSION$(f$)) = ".TXT": ' liste d'images FILE_OPEN_READ 9, f$ WHILE FILE_EOF(9) = 0 FILE_READLN 9,a$: k% = INSTR(a$,";") FILE_LOAD 1001,LEFT$(a$,k%-1): DISPLAY: 2D_IMAGE_COPY 1002,-8,-30,w-8,h-30 FILE_SAVE 1002,MID$(a$,k%+1,100) END_WHILE FILE_CLOSE 9 ELSE FILE_LOAD 1001,f$: 2D_IMAGE_COPY 1002,-8,-30,w-8,h-30: FILE_SAVE 1002,fr$ END_IF DELETE 1000: DELETE 1002 END_SUB Edit du 31/8 tant qu'à faire, j'ai étoffé un peu la petite sub pour pouvoir traiter au choix une liste d'images, ou une image individuelle. Si le suffixe de f$ est ".txt" il s'agit d'une liste, dont les articles (une ligne par image) ont la structure suivante: - Code:
-
[Path du fichier à redimensionner.jpg ou bmp];[Path du fichier résultat.bmp] (sans les crochets) et dans ce cas le paramètre fr$ est absent ou ignoré. | |
|