如何在 python -- tkinter 上的 canvas 文本上放置轮廓?
How to put an outline on a canvas text on python -- tkinter?
我在 canvas 的中心创建了一个白色文本,但是我的背景颜色很丰富,其中一部分颜色很浅,所以我的句子的某些角没有出现.我找不到任何设置边框或轮廓的选项。我能做什么?
创建一个文本项目,获取该项目的边界框,使用该数据创建一个矩形,并将文本提升到矩形上方。
import Tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, background="white")
canvas.pack(fill="both", expand=True)
text_item = canvas.create_text(20, 20, anchor="w", text="Hello world!", fill="white")
bbox = canvas.bbox(text_item)
rect_item = canvas.create_rectangle(bbox, outline="red", fill="black")
canvas.tag_raise(text_item,rect_item)
root.mainloop()
您可以在顶部放置不同颜色的文本,只需将其移动几个像素即可
text_bg = canvas.create_text(400, 100, text="Hello World!", font=("Helvetica", 40), fill='white')
text_fg = canvas.create_text(402, 102, text="Hello World!", font=("Helvetica", 40), fill='black')
我在 canvas 的中心创建了一个白色文本,但是我的背景颜色很丰富,其中一部分颜色很浅,所以我的句子的某些角没有出现.我找不到任何设置边框或轮廓的选项。我能做什么?
创建一个文本项目,获取该项目的边界框,使用该数据创建一个矩形,并将文本提升到矩形上方。
import Tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, background="white")
canvas.pack(fill="both", expand=True)
text_item = canvas.create_text(20, 20, anchor="w", text="Hello world!", fill="white")
bbox = canvas.bbox(text_item)
rect_item = canvas.create_rectangle(bbox, outline="red", fill="black")
canvas.tag_raise(text_item,rect_item)
root.mainloop()
您可以在顶部放置不同颜色的文本,只需将其移动几个像素即可
text_bg = canvas.create_text(400, 100, text="Hello World!", font=("Helvetica", 40), fill='white')
text_fg = canvas.create_text(402, 102, text="Hello World!", font=("Helvetica", 40), fill='black')