[英]Resize images in Maya with Python
總的來說,我對編碼很陌生。 我想要一個可以在 Maya 中批量處理圖像的腳本。 這個過程應該很簡單:從給定的路徑文件夾中打開一個圖像,調整它的大小,覆蓋它。
我知道 PIL 應該能夠做到這一點,但是它似乎自 Maya 2014 或其他版本以來不受支持。 我已經嘗試過 Maya 2012 中的代碼並且它有效,但是由於我希望所有人都可以訪問我的代碼,因此我想找到一種解決方法。
我知道有人重新發布了一個模塊,因此它可以在更新的版本中得到支持(盡管僅在 Windows 上)。
http://mistermatti.wordpress.com/2014/02/04/maya-2014-with-pythons-pil-module/
但即使我在構建中安裝它,嘗試打開我的文件時也會出現此錯誤:
open("E:/SoNuchframe000-00000.png")
無法識別圖像文件
我試過將整個模塊復制到我自己的腳本中,它也做同樣的事情。
另一方面,我也嘗試過 OpenMaya 模塊
image.readFromFile('E:/SoNuchframe000-00000.png')
image.resize(2048, 2048, False)
image.writeToFile('E:/SoNuchframe000-00000.png' + 'Resized.png')
這給了我一個 12mb 的空圖像(順便說一下,如果我能保持壓縮,那就太棒了)。
所以現在,我已經達到了我的力量極限。 我可以從這里做什么?
您可以使用 PySide/PyQt http://pyqt.sourceforge.net/Docs/PyQt4/qimage.html#scaled 中的QImage.scaled()
from PySide.QtCore import *
from PySide.QtGui import *
picture = QImage(path)
pic_rescaled = picture.scaled(2048, 2048, Qt.KeepAspectRatio)
pic_rescaled.save(path, "PNG")
應該適用於任何 Maya 2014+
您缺少image.writeToFile(path, compression)
的壓縮參數。 在這種情況下,它應該是“png”,但通常這應該與您最初加載的文件的擴展名相匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.