-1

环境:

蟒蛇 - 3.6.6
魔杖- 0.5.7

代码示例:

此文件的一部分

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的 CLI 示例,如何禁用为输出 dds 文件创建 mipmaps ->这个答案
但我需要使用 python 和 Wand 做同样的事情。

问题:

如何使用Wand库和 python 防止/避免/禁用/删除输出文件中的 mipmap。

4

2 回答 2

1

您将使用Image.optionsdict 来设置属性。

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')
于 2019-11-22T18:58:13.070 回答
0

基于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)。

于 2019-11-22T18:00:37.260 回答