Précédent   Forum du club des développeurs et IT Pro > Autres langages > Langages fonctionnels > Scheme
Scheme Forum d'entraide sur la programmation en langage fonctionnel Scheme
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/05/2012, 18h40   #1
HeyMile
Invité de passage
 
Inscription : mai 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 1
Points : 0
Points : 0
Par défaut [GIMP] Probleme avec un script de redimensionnement

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 :
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 :
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
HeyMile est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h23.


 
 
 
 
Partenaires

Hébergement Web