2017-02-17 4 views
0

J'ai besoin de réduire la sélection dans mon script GIMP.Comment réduire la sélection de deux côtés dans le script GIMP?

La commande de sélection par rétrécissement par défaut permet de réduire toute la sélection en fonction d'une valeur de taille donnée en pixels.

(gimp-selection-shrink inImage 2) 

Cela réduirait la sélection de 2 pixels.

Mais je ne veux pas réduire la sélection entière. Je veux juste enlever la sélection du côté gauche et du côté droit, en gardant la sélection verticale non modifiée.

Cela nécessite de retirer les pixels les plus éloignés de chaque côté (gauche et droite) du masque de sélection.

Comment puis-je faire cela?


Script effet désiré pour la valeur « 3px »:

https://media.giphy.com/media/l3q2v50vsk8Ze8Ldu/source.gif

Comme vous pouvez le voir, il est assez rectangulaire sur le côté gauche et à droite et il est nécessaire pour l'utilisateur de faire une sélection comme celui-ci. Donc je pense qu'une bonne approche serait d'obtenir posX gauche et droite du masque de sélection et couper le rect avec la hauteur de la couche et la largeur des pixels que nous voulons couper de chaque côté du masque de sélection. Je voudrais utiliser Script-Fu au lieu de Python-Fu, parce que je n'aime pas avoir des exigences supplémentaires pour les utilisateurs.

+0

Comment gérer les "coins"? Et pouvez-vous montrer un exemple d'image? – xenoid

+0

J'ai ajouté un exemple gif;) J'espère que c'est plus clair maintenant. – JasonSpine

Répondre

1
  • Enregistrer votre sélection
  • Obtenir la zone de délimitation (gimp-selection-bounds)
  • Réduction de la taille de cette boîte (+ 2px à Xmin, -4px à la largeur)
  • Créer une sélection de rectangle à partir de ces nouvelles valeurs
  • Intersection avec sélection sauvegardée