【发布时间】:2016-09-14 18:38:37
【问题描述】:
我看到了多个有关此问题的问题,但无法找到我的问题的答案。基本上我只想在图像上画一条线,从 python 中的外部文件获取坐标。这是我的代码:
import Image, ImageDraw
import sys
import csv
im = Image.open("screen.png")
draw = ImageDraw.Draw(im)
with open("outputfile.txt") as file:
reader = csv.reader(file, delimiter=' ')
for row in reader:
if row[0] == 'H':
print "Horizontal line"
endx = row[2]
endy = int(row[3])+int(row[1])
elif row[0] == 'V':
print "Vertical line"
endx = row[2]+row[1]
endy = row[3]
x = row[2]
y = row[3]
draw.line((x,y, endx,endy), fill = 1)
im.show()
一切正常,除了这条线:
draw.line((x,y, endx,endy), fill = 1)
我在哪里看到以下错误:
File "dummy_test.py", line 21, in <module>
draw.line((x,y, endx,endy), fill = 1)
File "/Library/Python/2.7/site-packages/PIL-1.1.7-py2.7-macosx-10.10- intel.egg/ImageDraw.py", line 200, in line
self.draw.draw_lines(xy, ink, width)
SystemError: new style getargs format but argument is not a tuple
如果我对这些值进行硬编码,我认为没有问题。问题仅在上述情况下发生。谁能指出问题所在?
【问题讨论】:
-
你显示的代码,和你看到的错误不一样。这条线在哪里:
draw.line(([x,y], [endx,endy]), fill = 1)? -
更新了错误。基本上错误在最后一行。请问有什么问题吗?
标签: python