我正在开发一种工具,该工具通过 Python 使用 ImageMagick 将大图像切割成较小的图块。而且我需要所有图块都采用相同的格式(png,8 或 16 位)。
在大多数情况下,它工作得很好,但在单色瓷砖上 ImageMagick 会在写入文件时压缩图片。例如,纯黑色图块被压缩为 1 位图片。
如文档中所述,我使用普通保存方法。
我没有找到有关此自动压缩功能的文档,也没有找到任何避免这种情况的方法。
是否有解决方法或避免这种情况发生的方法?
编辑:
例如,如果我使用此代码导入 24 位 rgb 图片:
from wand.image import Image
img = Image(filename ='http://upload.wikimedia.org/wikipedia/commons/6/68/Solid_black.png')
print img.type
我把它当作类型
bilevel
如果我添加这个,
img.type = 'grayscale'
print img.type
我再一次得到
bilevel
如果我尝试像这样强制像素深度,
img.depth = 16
print img.type
print img.depth
我得到:
bilevel
16
我想也许它实际上改变了深度,但是一旦我保存图像,它又变成了 1 位深度。
所以在我看来,ImageMagick 只是自动压缩图片,我无法控制它。它甚至拒绝更改图像类型。
有什么想法可以避免这种情况吗?有什么方法可以强制像素深度?