我目前正在使用Gimp来调整某些图片的大小。我是一名网络开发人员,但我并没有真正使用图像处理软件,因为大部分图像都是由设计师提供的,因此Gimp工具对我来说非常陌生。我查看了Gimp网站上的所有教程和帮助指南,但我找不到最简单问题的答案:
如何在保持宽高比的同时调整图层大小以适应当前画布?
我实际上是在我的Canvas上设置固定大小并将图像作为图层导入到我的项目中。我当时希望做的是将这个大得多的图像向下缩放,以便在保留宽高比的情况下适合Canvas。我找到了一种缩放Canvas以适应图层的方法,但这不是我想要的。
非常感谢任何帮助。
答案 0 :(得分:10)
这很容易做到,但是在程序用户界面中可以选择的数百个选项中,它并没有“当选”。
出路是使用程序的脚本功能来执行操作: 必须在程序上确定的是图像/层的比例是否更大 在宽度或高度上,并使用此比例来缩放图层,然后使图层居中。
为了您的方便,我在一行中为此编写了一些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)
既然可以这样做,但是不实用,甚至更多因为它不允许你这样做 选择要调整大小的图像或图层,我将其格式化为GIMP的python脚本。 只需检查插件目录的edit-> preferences-> folders->插件, 将内容作为文件粘贴到那里(如果在Windows上,文件必须具有“.py”扩展名。在Linux和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()
请注意,它与上面的代码相同,但GIMP现在提供“img”和“layer” 从菜单中选择动作时,还有两个额外的呼叫 scalignand centering作为单一动作“撤消” - 剩下的代码只是需要注册的锅炉板 GIMP的功能
答案 1 :(得分:10)
由于某些原因,该功能不在gimp中。没有任何脚本的替代方案是:
Layer -> Scale Layer
答案 2 :(得分:8)
使用Image -> Canvas
收缩我的画布后(并根据需要对图层居中),Layer -> Layer to Image Size
完成了诀窍(没有缩放图像)。这是与gimp 2.8.16
答案 3 :(得分:1)
图层 > 缩放图层对我来说效果很好。
答案 4 :(得分:0)
答案 5 :(得分:0)
从GIMP 2.10开始,默认情况下,它包含在GIMP的Layer -> Layer to Image Size
下