2017-04-19 65 views
1

我正在使用tkinter,我想要做的是在文本中顯示一個取消標誌(PNG),以顯示PNG背景中的價格。使用Tkinter Python的PNG顯示下的文本

到目前爲止,我能夠正確使用tkinter.label()的「複合」選項在圖像上顯示文本。 但我已經嘗試了不同的方式來獲取文本頂部的PNG,但到目前爲止我還沒有成功。

我想盡一切可能做什麼?如果是,請親切指導,如果沒有,那麼建議我繞路。我可以使用可用功能最接近什麼。 我甚至嘗試使用canvas.draw()取消標誌,但也隱藏了文本。

請幫我出

問候

+0

@abccd PNG也有透明部分。應該顯示它背後的一切。在我使用png的情況下,它覆蓋了圖像的整個區域。我可以更改該透明部分的背景顏色,但無法使其顯示背後的文字。希望我這次更好地解釋它。 –

回答

0

就在Tkinter的文本的頂部顯示一個部分透明的PNG你最好的解決辦法可能是使用Canvascreate_text()create_image()方法。

示例代碼(的Python 2.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() 

對於Python 3.x都有,使用下面的import語句:

import tkinter as tk 
from urllib.request import urlopen 

你應該得到這樣的:

enter image description here