【问题标题】:Scale image layer uniformly using python-fu in Gimp在 Gimp 中使用 python-fu 统一缩放图像层
【发布时间】:2017-06-03 09:25:58
【问题描述】:
我的目标是使用用于 gimp 的 python-fu 库以统一的方式缩放图像。这意味着指定宽度/高度应该足以进行缩放。 Gimp 应该相应地改变高度/宽度。
在 Gimp GUI 中,它使用标记的切换进行设置:
我正在使用以下行来缩放图像
pdb.gimp_layer_scale(visibleLayer, 435, 100, True)
将图层缩放到指定的宽度和高度。
无法按照上面指定的方式统一执行此操作。
【问题讨论】:
标签:
python
gimp
script-fu
python-fu
gimpfu
【解决方案1】:
使用以下代码计算要缩放到的目标高度并且它有效。
def calculateHeight(logoLayer):
if logoLayer.width < TARGET_LAYER_WIDTH:
return round(logoLayer.height * (TARGET_LAYER_WIDTH * 1.0 / logoLayer.width))
return logoLayer.height
【解决方案2】:
要保持相同的纵横比,您只需做一些数学运算:
newHeight = oldHeight * ( newWidth / oldWidth )
或慢动作
- 当你定义一个新的宽度时,这会定义一个等于
newWidth / oldWidth的放大系数
- 然后使用上面的公式将该放大系数应用于高度。