2013-06-27 16 views
8

メニューに表示されない、これは私がこれまでに出ているものです:のGimp:Pythonスクリプトは、私が<a href="http://www.ibm.com/developerworks/library/os-autogimp/" rel="noreferrer">this</a>チュートリアルに従っ

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
#http://www.ibm.com/developerworks/library/os-autogimp/ 

from gimpfu import* 

def plugin_main(timg, tdrawable, maxh=540, maxw=800): 

    currentWidth = tdrawable.width 
    currentHeight = tdrawable.height 

    newWidth = currentWidth 
    newHeight = currentHeight 

    if (maxw < newWidth): 
     newWidth = maxw 
     newHeight = (float(currentHeight)/(float(currentWidth)/newWidth)) 

    if (maxh < newHeight): 
     newHeight = maxh 
     newWidth = (float(currentWidth)/(float(currentHeight)/newHeight)) 

    pdb.gimp_image_scale(timg, newWidth, newHeight) 

register(
     "python_fu_resize", 
     "Saves the image at a maximum width and height", 
     "Saves the image at a maximum width and height", 
     "N N", 
     "N N", 
     "2013", 
     "<Image>/Image/Resize to max...", 
     "*", 
     [], 
     [], 
     plugin_main) 

main() 

しかし、プラグインが、私はGIMPを使用しています(GIMPのメニューに表示さwoun't 2.8)。ファイルchmodに+ x権限を与えます。ファイルの場所が問題になる可能性があります:/.gimp-2.8/plug-ins/src/resize.py? srcはEclipseのためです。スクリプトに構文エラーがある場合

答えて

10

、それは、すべてのメニューには表示されません - 上記のコードは、コードの非常に最初の行に構文エラーを持っていfrom gimpfu import**の前にスペースが不足して)

構文エラーをチェックする簡単な方法の1つは、スタンドアロンとしてスクリプトを実行しようとすることです(GIMP以外の "gimpfu"モジュールが見つからない場合は失敗しますが、その時までに構文が解析されます)別の方法は、pyflakesのようなlintユーティリティを使用して構文をチェックすることです。

実行時にスクリプトに含まれる他の実行時エラーがポップアップウィンドウに表示されるそれはGIMPからです - その段階では、スクリプトを更新してメニューから再試行することしかできません。ただし、スクリプトから入力または出力パラメータを変更する場合は、GIMPを再起動する必要があります。

そして、はい、「ファイルの場所」問題です - あなたはプラグインGIMPの好みでのために指定されたディレクトリにあなたのコードを入れてはならない - デフォルトでは、これらは~/.gimp-2.8/plug-ins/または/usr/lib[64]/gimp/2.0/plug-insある - 何を " src " - IDEでファイルを保存する場所を指定できない場合は、自分でコピーするか、GIMP環境設定でsrcディレクトリを追加する必要があります。

+0

いくつかの変更を行いました:スペースを追加し、スクリプトを '/ usr/lib/gimp/2.0/plug-ins'に移動しました。今はメニューに表示されます。ありがとう。 – kyng

+4

デバッグのヒント:コマンドラインからgimpを起動すると、表示されるエラーメッセージの種類を知ることができます。 – kyng

+5

スクリプトが実行可能であることを確認してください。 '$ chmod + x plugin.py'を実行すると私の問題が解決しました。 – arunkumar

関連する問題

 関連する問題