这很容易做到,但在数百个可能的选项放在程序用户界面中,它并不是“当选的”。
的出路是使用该程序的脚本功能执行动作: 什么必须programatcially确定是图像/层之比是否在宽度或高度大 ,并使用该比例刻度临时图层,然后居中该图层。
为了您的方便,我在一行中为此写了一些Python代码,以便您可以在python控制台(filters-> python-> console)上复制和粘贴以在顶部应用效果 最近打开的图像的图层。
img = gimp.image_list()[0]; layer = img.layers[0]; factor = min (float(img.width)/layer.width, float(img.height)/layer.height); layer.scale(int(layer.width * factor), int(layer.height * factor)); layer.set_offsets((img.width - layer.width)/2, (img.height - layer.height)/2)
因为这是可以做到的,但不实用,更因为它不会让你 挑选图片或层来调整,我格式化它作为一个Python的脚本为GIMP为好。 只需检查您的编辑 - >首选项 - >文件夹 - >插件为您的插件目录, 粘贴内容作为文件在那里(如果在Windows上,该文件必须具有“.py”扩展名。 。和Mac OS,任何分机的工作,但你必须给文件 了“exectuable”属性”)
重新启动GIMP后,您将有新的命令便利图层菜单:
#! /usr/bin/env python
# coding: utf-8
from gimpfu import *
def scale_layer_to_canvas_size(img, layer):
pdb.gimp_image_undo_group_start(img)
factor = min (float(img.width)/layer.width,
float(img.height)/layer.height)
layer.scale(int(layer.width * factor), int(layer.height * factor))
layer.set_offsets((img.width - layer.width)/2,
(img.height - layer.height)/2)
pdb.gimp_image_undo_group_end(img)
register("scale-layer-to-canvas-size",
"Scale layer to canvas size",
"Scales the layer to canvas size, keeping the aspect ratio",
"João S. O. Bueno", "Public domain", "2014",
N_("Scale layer to canvas size..."),
"*",
[(PF_IMAGE, "image", "Input image", None),
(PF_DRAWABLE, "layer", "Input drawable", None), ], [],
scale_layer_to_canvas_size, menu="<Image>/Layer/",
)
main()
请注意,它与上面的代码相同,但是当从菜单中选择操作时,“img”和“layer”现在由GIMP 支持,并且还有两个额外的调用该 两个scalignand定心是“未完成”作为一个单一的动作 - 剩余码justtheneeded锅炉板注册 功能与GIMP
这是辉煌的。非常感谢你。为什么这不是Gimp的标准内容,超越了我。 – jezzipin