これは簡単ですが、プログラムのUIに表示される可能性のある何百ものオプションの中で、そこには「選出」されていませんでした。 programatcially決定された画像/層の比率が幅または高さに 大きいか否かでなければならないもの 、及びスケールにこの比率を使用:
方法アウトは、アクションを実行するプログラムのスクリプト機能を使用することですその層を中心に配置します。
あなたの便宜のために、私はこの行を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スクリプトとしてフォーマットさ。 プラグインディレクトリの編集 - >環境設定 - >フォルダ - >プラグインを確認してください。 はその中にファイルとして内容を貼り付けます(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()
これは上記と同じコードですが、メニューからアクションを選択するときにGIMP によって「img」と「layer」が追加され、2つの追加コールがありますその 両方scalignandセンタリングは、単一のアクションとして「取り消し」である - 残りのコードが何らかの理由でGIMPにされていない機能GIMP
これは素晴らしいです。どうもありがとうございました。なぜこれがGimpの標準に含まれていないのかは、私が理解できないものです。 – jezzipin