Цитата:
Сообщение от IllVDG
Для начала решил, что надо научиться всех их уменьшать. Нашел пару функций, для перевода в bitmap и обратно. Bitmap уже уменьшаю. И сразу проблемы...
|
Bitmap и альфаканал не совместимы в привычном понимании, т.е. для работы с Bitmap+Alpha все или почти все манипуляции нужно делать руками.
Цитата:
Сообщение от IllVDG
Короче, есть пара файлов. У них есть прозрачность. Но программа на них плющится и крешится...
|
PNG поддерживает много растровых форматов и с прозрачностью могут быть как полноцветные картинки, так и картинки с палитрой, в варианте с палитрой, прозрачность находится не в отдельном слое (альфаканале), а в чанке tRNS где каждый индекс прозрачности соответствует индексу палитры.
Цитата:
Сообщение от IllVDG
Я ламер, да? Может, есть еще какой-нибудь компонент, который работает с png более универсально?
|
TPNGImage лучший компонент для работы с PNG форматом, как по удобству, так и по реализованным возможностям. Рюшечек конечно нет, но если разобраться, все становится просто и понятно.
Цитата:
Сообщение от IllVDG
И да, почему тут пусто? А то, может, у меня устаревшая версия.
|
Этот компонент стал частью делфи, начиная с Delphi 2009, по какой причине там теперь пусто непонятно.
Если стоит задача по обработке, то, как минимум, нужно ознакомиться со спецификацией
PNG и почитать справку к TPNGImage.
Для примера набросал две процедуры:
1) преобразование палитрового изображения в RGB
2) изменение размеров изображения в формате RGB
PNGResize.rar