总的来说,我对编码还很陌生。我想要一个可以在 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")
cannot identify image file
我尝试将整个模块复制到我自己的脚本中,它做了同样的事情。
另外我也尝试过 OpenMaya 模块
image.readFromFile('E:/SoNuchframe000-00000.png')
image.resize(2048, 2048, False)
image.writeToFile('E:/SoNuchframe000-00000.png' + 'Resized.png')
这给了我一个 12mb 的空图像(所以顺便说一句,如果我能保持它压缩,那就太棒了)。
所以现在,我已经达到了我的能力极限。我可以从这里做什么?
最佳答案
您可以使用 PySide/PyQt 中的 QImage.scaled() http://pyqt.sourceforge.net/Docs/PyQt4/qimage.html#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+
关于python - 使用 Python 在 Maya 中调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37172852/