如何避免使用 python Wand 为 dds 创建 mipmap?
How to avoid creating mipmaps for dds using python Wand?
环境:
python - 3.6.6
Wand - 0.5.7
代码示例:
this file的一部分
from wand import image
with image.Image(filename='example_32_on_32_px.png') as img:
img.compression = 'dxt3'
img.save(filename='output.dds')
它将生成 output.dds
,其中包含 5 个 mipmap(16px、8px、4px、2px、1px)。
我找到了 ImageMagic how to disable creation of mipmaps for output dds files ->
的 CLI 示例
但是我需要使用 python 和 Wand.
做同样的事情
问题:
如何使用 Wand
库和 python.
防止/避免/禁用/删除输出文件中的 mipmap
基于 ImageMagick/ImageMagick/blob/master/coders/dds.c 我发现了以下内容:option=GetImageOption(image_info,"dds:mipmaps");
所以我的问题的解决方案非常简单:
from wand import image
with image.Image(filename='example_32_on_32_px.png') as img:
img.compression = 'dxt3'
image.library.MagickSetOption(img.wand, b'dds:mipmaps', b'0')
img.save(filename='output.dds')
如果设置 b'1'
而不是 b'0'
输出文件将只包含 1 个 mipmap (16px)。
您将使用 Image.options
字典来设置 属性。
from wand.image import Image
with Image(filename='example_32_on_32_px.png') as img:
img.options['dds:mipmaps'] = '0'
img.compression = 'dxt3'
img.save(filename='output.dds')
环境:
python - 3.6.6
Wand - 0.5.7
代码示例:
this file的一部分
from wand import image
with image.Image(filename='example_32_on_32_px.png') as img:
img.compression = 'dxt3'
img.save(filename='output.dds')
它将生成 output.dds
,其中包含 5 个 mipmap(16px、8px、4px、2px、1px)。
我找到了 ImageMagic how to disable creation of mipmaps for output dds files ->
的 CLI 示例
但是我需要使用 python 和 Wand.
问题:
如何使用 Wand
库和 python.
基于 ImageMagick/ImageMagick/blob/master/coders/dds.c 我发现了以下内容:option=GetImageOption(image_info,"dds:mipmaps");
所以我的问题的解决方案非常简单:
from wand import image
with image.Image(filename='example_32_on_32_px.png') as img:
img.compression = 'dxt3'
image.library.MagickSetOption(img.wand, b'dds:mipmaps', b'0')
img.save(filename='output.dds')
如果设置 b'1'
而不是 b'0'
输出文件将只包含 1 个 mipmap (16px)。
您将使用 Image.options
字典来设置 属性。
from wand.image import Image
with Image(filename='example_32_on_32_px.png') as img:
img.options['dds:mipmaps'] = '0'
img.compression = 'dxt3'
img.save(filename='output.dds')