Bonjour

je viens vous demandé de l'aide car je suis en train d’écrire un script de redimensionnement d'image pour gimp en schème mais je suis un problème

mon script se base sur le script écrit par Arch. Giuseppe Conte, je l'ai juste modifié pour qu'il réponde a un condition supplémentaire.

le script de base permet de redimensionner une liste d'images ou de les rogner a la dimension défini dans la fenêtre de dialogue en gardant les proportion ou non, puis de l'enregistrer dans l'extension que l'on veut.

J'aimerai apporter une condition supplémentaire pour le redimensionnement, si l'image est plus petite que la taille que l'on a renseigner, au lieu que simplement l'agrandir ( et donc perdre en qualité) je voudrai agrandir le canvas et positionner l'image au centre, pour ce retrouver du coup avec du blanc autour.

j'ai donc modifie le script de base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
			(cond
				( (= OptionSize 0)   ;original size
					;nessuna operazione
				)
				
				( (= OptionSize 1)   ; scale
	   				(gimp-image-scale Image width height)
				)
				
				( (= OptionSize 2)   ; crop image
					(if (< owidth width) (set! cwidth owidth) (set! cwidth width))
					(if (< oheight height) (set! cheight oheight) (set! cheight height))
	   			(gimp-crop Image cwidth cheight 0 0)
				)

			);cond

en

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
				(cond		
					((= OptionSize 1)   ;Si on a choisi de garder la taille original 
							;aucune opération
					)
						
					((= OptionSize 0)   ;Si on a choisi de redimensionner
						(if (< owidth width) ; verifie si l'image est plus petit que la taille voulu
							(let*(
									(new-offsetX(/(- width owidth)2))
									(new-offsetY(/(- height oheight)2))
								)
								(gimp-image-resize image width height new-offsetX new-offsetY)
								(gimp_image_flatten image)								
							);si oui alors  on en agrandi le canvas a la taille voulu et on place l'image au centre 
							(gimp-image-scale image width height);si non on redimensionne directement l'image 
						)
					)
				);En fonction de l'action choisi ( taille original ou redimensionnement

le script s’exécute parfaitement seulement l'image n'est pas modifié, qu'elles soient plus grand ou plus petite

donc voila je suis un peu perdu, je comprend pas pourquoi sa ne marche pas

si quelqu'un aurai la gentillesse de me donné un coup de main

HeyMile