私はペイント様のアプリケーションを構築しています。後でシェイプのプロパティを自由に変更して変更したいので、Tkinterを使ってキャンバス上に図形を描きますPIL Drawまたは何か他のもの。他の答えから、私はポストスクリプトファイルを作成し、それをPILを使ってPNGに変換することで、キャンバスをPNG形式で保存する方法を見つけました。Pythonで透明なPNGに.EPSファイルを保存するには
ここで、EPSファイルには透明なスペースがありますが、PNGファイルではそのボイドが白の背景色で塗りつぶされています。私はどこが間違っているのか分からない。
以下は私が使用した機能です。
def saveImg(event):
global canvas
canvas.postscript(file="my_drawing.eps", colormode='color')
imgNew = Image.open("my_drawing.eps")
imgNew.convert("RGBA")
imgNew.thumbnail((2000,2000), Image.ANTIALIAS)
imgNew.save('testImg.png', quality=90)
システムにゴーストスクリプトがインストールされていますか?どんなプラットフォームを実行していますか? –
@PauloScardineはい!ゴーストスクリプトをインストールしました。私はMac OS上でpython 3.5.2を実行しています –
GhostScriptを使ってコマンドラインで変換を行うことができます: 'gs -dSAFER -dNOPAUSE -dBATCH -r150 -sDEVICE = pngalpha -sOutputFile = testImg.png my_drawing.eps '。 '-r150'は解像度を150 DPIに設定し、解像度が高いほどレンダリングに時間がかかります。 –