记录学习保存png,jpg图片过程。
python的turtle可以给各种图。
想保存图片。除了手动截图外,怎么用python保存成PNG等图片呢。
网上查找到关键代码:
img = getscreen()
img.getcanvas().postscript(file="pic.eps")
但是不是PNG格式的。
后面找到PIL库可以将打开图片保存为另一个格式。
im = Image.open("pic.eps")
im.save("pic.png")
但是报错,
OSError: Unable to locate Ghostscript on paths。
:无法在路径上找到Ghostscript
更新了一下PIL库,还是一样。
网上搜了下也有人遇到的,搜出来的遇到相同问题都看了,但是没有解决。。一时不知怎么办。
突然看到搜出列表有 一个:PIL.EpsImagePlugin — Pillow (PIL Fork) 3.2.0 文档。
点进去看是PIL.EpsImagePlugin源码。
看了一下发现有一段代码:
if gs_windows_binary is not None:
if not gs_windows_binary:
raise WindowsError('Unable to locate Ghostscript on paths')
command[0] = gs_windows_binary
这不就是那个报错吗?查这个gs_windows_binary又看到:
gs_windows_binary = None
if sys.platform.startswith('win'):
......
for binary in ('gswin32c', 'gswin64c', 'gs'):
if which(binary) is not None:
gs_windows_binary = binary
break
......
看不懂啊!没有什么学习解决不了的,经学习了解了这段代码的意思:
判断当前系统是window系统,
shutil.which():检测命令对应的文件路径。
知道了是ghostscript的命令。
去安装ghostscript,配置环境变量。
运行代码,还是报错!
cmd输入命令gswin64c没问题。
IDLE运行上面的 shutil.which('gswin64c'),什么都没有,print是none!
关掉所有IDLE和代码 窗口,重新打开。正常了运行了。