python - 使用 Python 在 Maya 中调整图像大小

标签 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")

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/

相关文章:

c# - 为什么 MigraDoc 给出这个无文件图像的 "image not found"?

java - 如何自动调整jPanel的大小

ios - 如何在不降低质量的情况下放大微小的文本图像?

android - 在 Android 中查看时调整 ListView 元素的大小?

python - 如何在Python中使用单独的线程进行异步信号处理

C++ (LINUX) 使用 DevIL 设置 X11 窗口背景

Java GUI - JPanel、JFrame、JButton

python - 设置 Django 翻译的正确方法是什么?

python - 如何将 Python + Electron JS 编译成桌面应用程序(exe)

python - 如何设置 web2py fixtures