Сохранение массива цветных данных в виде файла PNG на DS

Я ищу библиотеку для сохранения массива цветных данных в файл PNG. (Это все, что нужно, верно? Я очень мало знаю о внутренностях PNG.)

Это для использования в разработке Nintendo DS, поэтому что-то легковесное предпочтительнее. Мне не нужны никакие другие модные функции, такие как вращение

3 ответа

Решение

Для кодирования любого PNG-файла libpng - это путь к прогулке.

Тем не менее, на небольших устройствах, таких как DS, вы действительно хотите сохранить данные изображения в том формате, который ожидает аппаратное обеспечение дисплея. Технически возможно заставить libpng работать на платформе, но это приведет к значительным накладным расходам, как с точки зрения времени загрузки, так и площади.

Вы смотрели на libpng? http://www.libpng.org/pub/png/libpng.html

Я не уверен, будет ли объем памяти приемлемым, но вы, вероятно, должны знать, что файлы PNG намного сложнее, чем просто массив цветов. Производительность, вероятно, будет проблемой для DS.

Если вы используете libpng, вам также понадобится zlib, и если вы используете DevKitPro, вы, вероятно, столкнетесь с некоторыми отсутствующими функциями (от игры с кодом в течение 5 минут, похоже, что он полагается на pow(), который кажется, не в libnds.) Я понятия не имею, что официальный Nintendo SDK предлагает в виде стандартной библиотеки - вы можете быть в лучшей форме, если вы используете это.

Мне удалось найти библиотеку, которая поддерживает PNG (используя libpng) и позволяет вам просто предоставить ей необработанные данные изображения.

Это называется LibPicture. Это немного здоровенно, хотя: ~1 МБ.

Другие вопросы по тегам