Как сжать изображение PNG с помощью алгоритма S3TC / DXT в python? - PullRequest
2 голосов
/ 08 апреля 2019

Я пытаюсь найти способ сжатия изображений (например, PNG) любым алгоритмом S3TC / DXT с использованием библиотек python.

Как я вижу в Подушка (PIL) Библиотека DDS в формате Read-only formats. Поэтому подушку нельзя использовать для этой цели.
Поиск в Google не дал положительных результатов.

Вопрос:

Можно ли сделать с питоном?
Может ли кто-нибудь предоставить ссылку на библиотеки с таким функционалом? (Проверено на практике)
Формат DDS не является обязательным для моего случая. Мне нужен только сжатый файл.

PS:

Требуется для создания текстур для будущего использования.
Библиотека должна поддерживать различные алгоритмы сжатия.

1 Ответ

3 голосов
/ 08 апреля 2019

Вы можете использовать Python Wand . Здесь я создаю псевдо-изображение с пурпурно-желтым градиентом и сохраняю как DDS:

from wand.image import Image
with Image(width=200, height=80, pseudo='gradient:magenta-yellow') as img: 
   img.save(filename='result.dds') 

enter image description here

Или, если вы хотите загрузить файл PNG и сохранить как DDS:

with Image(filename='input.png') as img: 
   img.save(filename='result.dds') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...