記錄學習儲存png圖檔過程。
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和代碼 視窗,重新打開。正常了運作了。