加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

C/C++库将PNG(包括Alpha)与原始ARGB缓冲区混合

发布时间:2021-01-14 13:32:53 所属栏目:Linux 来源:网络整理
导读:我有一个带编码alpha通道的PNG,我希望将其与原始ARGB图像混合在存储器中进行交错存储. PNG具有与图像缓冲器不同的分辨率,并且需要相应地调整大小(优选地使用插值). 虽然我很欣赏它并不是特别难以手工完成(一旦将PNG图像加载到适当的结构中),我希望找到一个

我有一个带编码alpha通道的PNG,我希望将其与原始ARGB图像混合在存储器中进行交错存储. PNG具有与图像缓冲器不同的分辨率,并且需要相应地调整大小(优选地使用插值).

虽然我很欣赏它并不是特别难以手工完成(一旦将PNG图像加载到适当的结构中),我希望找到一个好的开源图像处理库来为我完成这项工作.

我看了几个包括:

> libGD
> libPNG
> openCV
> ImageMagick
> CxImage
>英特尔集成性能基元(IPP)

但似乎没有一个能够处理加载PNG,调整PNG图像大小,将alpha混合到图像数据和处理ARGB格式(与RGBA相反)的所有要求.

性能是一个问题,因此减少对图像数据的传递将是有益的,尤其是能够将ARGB数据保持在适当的位置而不是必须将其复制到不同的数据结构以执行混合.

有没有人知道任何可以提供帮助的图书馆,或者我是否错过了上述某项内容?

最佳答案 您可以使用SDL_gfx和SDL_Image通过SDL执行此操作.

// load images using SDL_Image
SDL_Surface *image1,image2;
image1=IMG_Load("front.png");
image2=IMG_Load("back.png");

// blit images onto a surface using SDL_gfx
SDL_gfxBlitRGBA ( image1,rect,screen,rect ); 
SDL_gfxBlitRGBA ( image2,rect );

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读