私が作成している単純なゲームでは、現在、プレースホルダーの四角形オブジェクトをグラフィックとして使用しています。それらをスプライトに置き換えようとしていますが、私が理解しているように、Tkinter は PNG またはアルファ透明度をサポートしていません。私は PIL で動作しない Python 3.3 を使用しています (これは学校のプロジェクトであるため、唯一の外部ライブラリとして Tkinter を使用しようとしています)。サポートされているファイル形式でアルファ チャネルを使用して、タイルの複数のレイヤーを作成する方法はありますか? 白いピクセルを除外したいだけです。
質問する
3596 次
3 に答える
1
透明感のある画像が使えました。PIL の使用を避けたいというご要望は承知しておりますが、次のコードは機能し、Tkinter が透過的な形式をサポートすることを示しています。
from Tkinter import Tk, Canvas
import PIL
root = Tk()
tkimg = PIL.ImageTk.PhotoImage('cat1-a.gif')
canvas = Canvas(root, height=600, width=600)
canvas.grid()
def stamp(event):
canvas.create_image(event.x, event.y, image=tkimg)
canvas.bind('<ButtonPress-1>', stamp)
root.mainloop()
于 2013-04-18T03:29:58.800 に答える