我对编码很不错,所以请保持温和,我在这里尽我所能。 我想要一个可以在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的空图像(顺便说一句,如果我可以保持压缩,这将是非常棒的)
所以现在,我已经达到了我的权力极限。我不知道从这里可以做些什么。任何建议或建议都会受到极大的欢迎。提前致谢
答案 0 :(得分:1)
您可以使用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 +
答案 1 :(得分:1)
你错过了image.writeToFile(path, compression)
中的压缩参数。在这种情况下,它应该是'png',但通常这应该与您最初加载的文件的扩展名匹配。