0
我有下面的代码下载图像并在图像上写入文本。下载工作正常。该错误发生在draw.text行上。我不知道为什么我得到一个错误。 ttf文件位于正确的位置,路径名正确。我用pip安装枕头。我没有遇到任何错误。使用PIL在图像上添加文字。错误消息
import urllib
urlSA = "http://www.wpc.ncep.noaa.gov/archives/sfc/" + year + "/usfntsfc" + year + month + day + "09.gif"
savedFileSA = "C:/images/sa2000/" + month + day + yearShort + ".jpg"
urllib.urlretrieve (urlSA, savedFileSA)
# Add a title to the SA image
import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw
img = Image.open(savedFileSA)
draw = ImageDraw.Draw(img)
fnt = ImageFont.truetype("C:/images/arial.ttf", 12)
draw.text((10, 10),"Sample Text",(3,3,3),font=fnt)
img.save(savedFileSA)
错误:
Traceback (most recent call last):
File "C:\images\storm_reports_Arc103.py", line 105, in <module>
draw.text((10, 10),"Sample Text",(3,3,3),font=fnt)
File "C:\Python27\ArcGIS10.3\lib\site-packages\PIL\ImageDraw.py", line 253, in text
ink, fill = self._getink(fill)
File "C:\Python27\ArcGIS10.3\lib\site-packages\PIL\ImageDraw.py", line 129, in _getink
ink = self.palette.getcolor(ink)
File "C:\Python27\ArcGIS10.3\lib\site-packages\PIL\ImagePalette.py", line 101, in getcolor
self.palette = [int(x) for x in self.palette]
ValueError: invalid literal for int() with base 10: ''
>>>
您将'.gif'保存为'.jpg',我想这与它有很大关系。 – MattDMo
我改回它保存为一个.gif但仍然得到相同的错误。是的,我相信。 gif图像在文件夹中。 – Andrew
我删除了“(3,3,3)”代码,它工作。也许我需要在我的机器上安装更多的颜色? – Andrew