2017-04-19 13 views
1

私はtkinterに取り組んでいます。PNGのバックグラウンドで価格を示すテキストにキャンセル記号(PNG)を表示することでした。Tkinter Pythonを使用したPNG表示のテキスト

これまでは、tkinter.label()の "compound"オプションを使用して、イメージ上にテキストを正しく表示できました。 しかし、私はテキストの上にPNGを取得するさまざまな方法を試みたが、私はこれまで成功していません。

私は可能な限り何をしようとしていますか?もしそうなら、親切にガイドしてください。利用可能な機能を使用して最も近いものは何か。 私はcanvas.draw()を使ってキャンセルサインを作ろうとしましたが、それもテキストを隠します。

親切に私を助けて

よろしく

+0

@abccd PNGにも透明部分があります。それはその背後にあるものを表示するはずです。私の場合、PNGを使用すると、画像の全領域をカバーします。透明部分の背景色を変更することはできますが、テキストを後ろに表示することはできません。今回私はそれをもっとうまく説明したいと思っています。 –

答えて

0

Tkinterでは、テキストの上に部分的に透明なPNGを表示するためにあなたの最善の解決策は、create_text()create_image()方法でCanvasを使用することが考えられます。

例コード(のPython 2.xの):のPython 3.xのについては

import Tkinter as tk 
from PIL import ImageTk 
from io import BytesIO 
from urllib import urlopen 

root = tk.Tk() 
canvas = tk.Canvas(root, width=300, height=300) 
canvas.pack() 

canvas.create_text(150, 150, text="word word word word word word word word") 
url = "https://www.dropbox.com/s/etqan5h62d14mv8/Pikachu-PNG-Photos.png?dl=1" 
img = ImageTk.PhotoImage(file=BytesIO(urlopen(url).read())) 
canvas.create_image(150, 150, image=img) 

root.mainloop() 

、import文で次のコマンドを使用します。

import tkinter as tk 
from urllib.request import urlopen 

あなたがこれを取得する必要があります。

enter image description here

関連する問題