3

私が作成している単純なゲームでは、現在、プレースホルダーの四角形オブジェクトをグラフィックとして使用しています。それらをスプライトに置き換えようとしていますが、私が理解しているように、Tkinter は PNG またはアルファ透明度をサポートしていません。私は PIL で動作しない Python 3.3 を使用しています (これは学校のプロジェクトであるため、唯一の外部ライブラリとして Tkinter を使用しようとしています)。サポートされているファイル形式でアルファ チャネルを使用して、タイルの複数のレイヤーを作成する方法はありますか? 白いピクセルを除外したいだけです。

4

3 に答える 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()

3 つの create_image() 呼び出しが透過性を示します

于 2013-04-18T03:29:58.800 に答える