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