使用 python PIL 粘贴时黑屏
black screen when using python PIL paste
我正在尝试将几张图片首尾相连,然后显示在 canvas 上。我不明白为什么这张图片显示为黑色。有什么想法吗?
from tkinter import *
from PIL import Image, ImageTk
root = Tk()
canvas = Canvas(root, width=1000, height=800)
canvas.pack()
grass = Image.open(r"C:\pathto\grass.gif")
water = Image.open(r"C:\pathto\ffwater.gif")
r1 = ['g','g','g','w','w','w','g','g']
row = Image.new('RGB', (1000, 800))
xx = 0
for i in r1:
if i == 'g':
img = grass
if i == 'w':
img = water
row.paste(img, (xx, 0))
xx = xx + img.size[0]
worldr1 = ImageTk.PhotoImage(row)
canvas.create_image(0,0, image=worldr1)
root.mainloop()
图像是黑色的,因为它在 Canvas 上仅部分可见。我替换了
canvas.create_image(0,0, image=worldr1)
来自
canvas.create_image(0,0, anchor="nw", image=worldr1)
并且完整图像在 Canvas 上可见(默认值为 anchor="center"
)。
我正在尝试将几张图片首尾相连,然后显示在 canvas 上。我不明白为什么这张图片显示为黑色。有什么想法吗?
from tkinter import *
from PIL import Image, ImageTk
root = Tk()
canvas = Canvas(root, width=1000, height=800)
canvas.pack()
grass = Image.open(r"C:\pathto\grass.gif")
water = Image.open(r"C:\pathto\ffwater.gif")
r1 = ['g','g','g','w','w','w','g','g']
row = Image.new('RGB', (1000, 800))
xx = 0
for i in r1:
if i == 'g':
img = grass
if i == 'w':
img = water
row.paste(img, (xx, 0))
xx = xx + img.size[0]
worldr1 = ImageTk.PhotoImage(row)
canvas.create_image(0,0, image=worldr1)
root.mainloop()
图像是黑色的,因为它在 Canvas 上仅部分可见。我替换了
canvas.create_image(0,0, image=worldr1)
来自
canvas.create_image(0,0, anchor="nw", image=worldr1)
并且完整图像在 Canvas 上可见(默认值为 anchor="center"
)。