2017-06-03 3 views
0

skalieren Mein Ziel ist ein Bild skalieren mit Python-Fu-Bibliothek für Gimp in einer einheitlichen Weise. Dies bedeutet, dass die Angabe der Breite/Höhe für die Skalierung ausreichend sein sollte. Gimp sollte die Höhe/Breite entsprechend ändern.Bild-Ebene gleichmäßig mit Python-Fu in Gimp

In Gimp GUI ist es mit dem markierten Toggle gesetzt:

enter image description here

ich die folgende Zeile bin mit Bilder

pdb.gimp_layer_scale(visibleLayer, 435, 100, True) 

maßstäblich, die die Schicht angegebenen Breite und Höhe skaliert.

Konnte nicht eine andere Möglichkeit, es einheitlich zu tun, wie oben angegeben.

Antwort

0

Der folgende Code wurde verwendet, um die zu skalierende Zielhöhe zu berechnen, und es funktionierte.

def calculateHeight(logoLayer): 
     if logoLayer.width < TARGET_LAYER_WIDTH: 
      return round(logoLayer.height * (TARGET_LAYER_WIDTH * 1.0/logoLayer.width)) 
     return logoLayer.height 
0

das gleiche Seitenverhältnis zu halten, tun Sie nur einige Mathe:

newHeight = oldHeight * (newWidth/oldWidth) 

oder in Zeitlupe

  • wenn Sie eine neue Breite zu definieren, dies einen Vergrößerungsfaktor definiert gleich newWidth/oldWidth
  • dann wenden Sie diesen Vergrößerungsfaktor auf die Höhe an, indem Sie die obige Formel verwenden.
Verwandte Themen