使用Python重新调整Maya中的图像大小

时间:2016-05-11 20:39:51

标签: python image resize python-imaging-library maya

我对编码很不错,所以请保持温和,我在这里尽我所能。 我想要一个可以在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的空图像(顺便说一句,如果我可以保持压缩,这将是非常棒的)

所以现在,我已经达到了我的权力极限。我不知道从这里可以做些什么。任何建议或建议都会受到极大的欢迎。提前致谢

2 个答案:

答案 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',但通常这应该与您最初加载的文件的扩展名匹配。