我正在开发一种工具,可以通过Python使用ImageMagick将大图像切割成更小的图块。我需要所有的磁贴都采用相同的格式(png,8或16位)。
在大多数情况下,它工作得很好,但在单色图块上,ImageMagick会在写入文件时压缩图片。例如,纯黑色瓷砖被压缩为1位图片。
我使用普通保存方法,如the docs中所述。
我没有找到关于此自动压缩功能的文档,也没有任何方法可以避免这种情况。
是否有针对此的解决方法或方法可以避免这种情况发生?
修改
例如,如果我使用此代码导入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只是自动压缩图片而我无法控制它。它甚至拒绝改变图像类型。
有什么想法可以避免这种情况吗?有什么方法可以强制像素深度?