這很容易做到,但在數百個可能的選項放在程序用戶界面中,它並不是「當選的」。
的出路是使用該程序的腳本功能執行動作: 什麼必須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