Библиотека C / C ++ для смешивания PNG (включая Alpha) с необработанным ARGB-буфером

У меня есть PNG с закодированным альфа-каналом, который я хочу смешать с необработанным изображением ARGB в памяти, которое хранится с чередованием. PNG имеет другое разрешение по сравнению с буфером изображения, и его размер необходимо соответственно изменить (желательно с интерполяцией).

Хотя я понимаю, что это не особенно сложно сделать вручную (после того, как изображение PNG загружено в соответствующую структуру) , Я надеялся найти хорошую библиотеку обработки изображений с открытым исходным кодом, которая сделает эту работу за меня.

Я просмотрел несколько, включая:

  • libGD
  • libPNG
  • openCV
  • ImageMagick
  • ] CxImage
  • Intel Integrated Performance Primitives (IPP)

Но ни один из них, похоже, не удовлетворяет всем требованиям загрузки PNG, изменения размера PNG-изображения, альфа-смешивания с данными изображения и обработки формата ARGB (в отличие от RGBA) .

Производительность - это проблема, поэтому сокращение проходов по данным изображения было бы полезным, особенно возможность удерживать данные ARGB на месте вместо того, чтобы копировать их в другую структуру данных для выполнения смешивания.

Имеет ли кто-нибудь знает какие-либо библиотеки, которые могут помочь, или я пропустил sed кое-что в одном из приведенных выше?

6
задан TheJuice 1 June 2011 в 10:57
поделиться