簡體   English   中英

使用 Python 在 Maya 中調整圖像大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM