問題タブ [python-fu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
760 参照

python - gimp の python コンソールで gimp-drawable-set-pixel を呼び出すとエラーが発生する

このコードを Gimp の Python コンソールに直接入力しています。

gimp-drawable-set-pixel 関数を呼び出した後、このエラーが発生します。

3 バイトではなく 4 バイトで呼び出した場合も、同じエラーが発生します。

Ubuntu 14.04.01 x86_64でgimp 2.8.10を使用しています

0 投票する
1 に答える
6455 参照

python - Gimpで開いているすべてのウィンドウをバッチエクスポートする

200 以上の .PDF ファイルを gimp で手動で編集したところ、1 つずつエクスポートするのではなく、それらすべてを一度に (.PDF で) バッチ エクスポートしたいと考えています。

plugin-registryインストールしましたが、この場合に利用できるかどうかはわかりません。

必要なのはスクリプト/コンソールコマンドだと思いますが、Pythonについては何も知りません。

ご協力いただきありがとうございます。

0 投票する
3 に答える
9718 参照

python - gimp のスクリプト fu ですべてのレイヤーを保存 (エクスポート) するにはどうすればよいですか?

gimp fu を使用すると、1 つのレイヤーのコンテンツを保存できます (少なくとも、 の定義を解釈する方法gimp_file_saveは、パラメーター を取るためdrawableです)。

今、私は次のスクリプトを持っています:

画像を保存するために使用pdb.gimp_file_save(img, drawable, '/temp/tq84_write_text.png', '?')すると、「テキスト」レイヤーのみがエクスポートされます。それでも、使用pdb.gimp_file_save(img, background_layer, '/temp/tq84_write_text.png', '?')すると背景のみがエクスポートされます。では、どうすれば両方のレイヤーを 1 つの画像にエクスポートできますか (メニューのFile -> Export Asように)。

0 投票する
2 に答える
2993 参照

gimp - GIMP で python-fu を使用して画像をスケーリングすると、組み込みの GUI を使用するよりも遅くなります

OS X の GIMP 2.8.14 内で Python-Fu を使用して、ゲームのアセット パイプラインの作成を自動化しています。

しかし、スクリプトからpdb.gimp_image_scaleメソッドを実行すると、組み込み機能の "Image > Scale Image..." と比較して遅いことに気付きました。

白い画像を 8000x8000 から 2000x2000 に縮小すると、スクリプトでは 6.8 秒かかりますが、GUI では 1.7 秒かかります。それほど重要ではありませんが、多数のレイヤーを使用してアセットを縮小すると、スクリプトでは 3 分 47 秒かかりますが、GUI では 40 秒かかります。

アクティビティ モニターは、スクリプトを実行したときのCPU 使用率が最大約 30% しかないことを示しました。組み込みの GUI スケーリングは最大 100% を使用します。これは、OS X では単一の CPU コアが可能な限り高速であることを意味します。 .

どうすればその行動を変えることができるか、誰にも考えがありますか?

奇妙なことに、これは gimp_image_scale にのみ起因する継ぎ目です。gimp_image_select_contiguous_color、gimp_selection_grow、gimp_selection_feather、gimp_edit_bucket_fill_full などの他の操作では、CPU 使用率が最大 100% になります。

Windows でも同じですが、実際にはそれほど悪くはありません。スクリプト経由で 1 分 28 秒、組み込み GUI 経由で 33 秒です。

更新 1: アクティビティ モニターに「CPU 履歴」機能があることがわかりました。ここで、私の仮定が間違っていることがわかりました。100% は 1 つのコアではなく、4 つのコアに 25% 分散しています。

では、なぜ両方のケースで 25% しか実行されないのでしょうか? gimp_image_scale がマルチスレッド化されていないのはなぜですか?

GUI によるマルチスレッド スケーリング (左) とスクリプトによるシングル スレッド (右)

更新 2: "Filters>Python-Fu>Console" からスクリプトを実行すると、実際にはマルチスレッドで高速です。

更新 3: 入力値 (スケールなど) を指定せずにスクリプトを実行し、値をハードコードすると、マルチスレッドで高速に実行されます。ダイアログからスケーリングがトリガーされると、シングルスレッドになるようです。

0 投票する
1 に答える
1018 参照

python - gimp python-fuで現在のブラシサイズで描画するにはどうすればよいですか?

基本的に、現在のレイヤーに黒い円を描画してレイヤーを埋めるだけのGIMP python-fuスクリプトを作成しています。私が抱えている問題は、gimp_context_set_brush_size() がアクティブなブラシ サイズを画像のサイズに設定した後でも、gimp_pencil() がデフォルトのブラシ サイズを使用し続けることです (GIMP からスクリプトを実行すると、ブラシ サイズ スライダーがレイヤーの幅ですが、作成されるマークはデフォルトの 50x50 のままです) ここに私のコードがあります:

私は何を間違っていますか?

0 投票する
1 に答える
1939 参照

python - Gimp: パス ツール ポイントの座標を取得するにはどうすればよいですか?

私は gimp python-fu プログラミングを初めて使用します。描画されたパスの座標を取得し、次の画像のように gtk メッセージ ボックスに出力を表示するために、どの関数を使用するのが最適かを判断するために 4 日間を費やしました。 .

ここに画像の説明を入力

Windowsマシンで開発していることを考慮してください

私は次のように自分のコードを試しました:

プラグイン自体がメニューに表示されないこともあれば、何も出力されないこともあります。

0 投票する
1 に答える
5518 参照

gimp - Python-fu/gimpfu パラメータ - 「イメージ」とはどういう意味ですか?

script-fu から python-fu に切り替えようとしていますが、「image」パラメーターに何を渡す必要があるのか​​ わかりません。script-fu では単なる整数でしたが、同じ整数を python-fu に入れると、型が間違っていると表示されます。文字列とフロートと同じ...ここに何を入れるべきですか? ドキュメントには、必要なパラメーターが「IMAGE」であると書かれていますが、それはどういう意味ですか? どこで見つけますか?どうすれば入手できますか?

こちらが通訳者の写真です。

0 投票する
2 に答える
1948 参照

python - File->OpenのようにGimpでpythonスクリプトでファイルを開く

TL;DR: オプションを取得してダイアログOverwrite file.pngを回避するために (File->Open) のように Python を使用して Gimp で画像を開く方法。Save the changes to image 'sample.png' before closing?

選択した領域でいくつかの変更を行い、それを PNG として保存する Gimp 用の Python スクリプトを作成しました。その後、ファイルを開いて、すべてが正しいか、何かを変更したかをユーザーが確認できるようにします。プラグインのユーザーは必ずしも Gimp の使用方法を知っているとは限らないため、"Save the changes to image 'sample.png' before closing?" ダイアログが混乱する可能性があります。
私が現在使っている方法は、

0 投票する
1 に答える
1149 参照

gimp - 「クリア」が機能しないのはなぜですか?

私は python-fu スクリプトを持っていますが、これはほとんど機能しています。レイヤーをスキャンして色を探し、長方形はその色の連続した領域を選択し、その選択で覆われた別のレイヤーの画像の部分をコピーして、別のファイルに保存します。すべて良い。

ここで、長方形の選択をクリアする必要があります。これにより、他のセットの一部として再び選択されなくなり、保存する次の連続した長方形ブロックを見つけることができるようにスキャンが最初からやり直されます。

残念ながら、スキャンがクリアされた領域を横断していることがわかります。デバッグ出力は、色がまだそこにあると考えていることを示しています。とはいえ、その領域は透明であることがわかります。したがって、gimp に更新を指示するステップが欠落しているに違いありません。

私は次のものでそれを持っていると思いました:

gimp_edit_clear検索しているレイヤーの選択をクリアします-それが起こることを確認しました-しかし、gimp_drawable_updateクリアされたスポットをループが進むと、古い色がまだそこにあると報告されるため、何もしないようです.

私は何が欠けていますか?