No.2_2 FreeImage——加载/存储图像

本文介绍如何利用FreeImage库在Ubuntu系统中加载位图文件并保存为二进制,再将Android系统中OpenCL旋转后的二进制文件转换回位图。程序实现了加载和保存函数,通过FreeImage_GetBits和FreeImage_CreateBitmap等函数处理图像数据。
摘要由CSDN通过智能技术生成

简介

FreeImage 是一款免费的开源图形库,它可以用于 Windows,Linux 和 Mac OS X 系统。本文基于 No.2_1_FreeImage,No.2_1_FreeImage 程序在 Android 系统下通过调用 OpenCL API 执行旋转操作。由于 Android 系统不支持 FreeImage,No.6_1_OpenCLSampler 在对图像做旋转操作时,先在 Ubuntu 中通过调用 FreeImage 库函数将位图文件转换为图像数据保存在二进制文件中。然后在 Android 系统中加载该二进制文件,调用 OpenCL API 旋转图像,将旋转后的图像也保存为二进制文件。最后在 Ubuntu 中加载旋转后的二进制文件,通过 FreeImage 接口将其存储为位图文件,由此得到旋转后的位图文件。完整的代码参见 No.2_FreeImage,具体执行流程如下图所示:

执行流程

实现

引用\[1\]:#include"FreeImage.h"#ifdef _DEBUG#pragma comment(lib, "FreeImaged.lib")#else#pragma comment(lib, "FreeImage.lib")#endif(2)、例外默认情况下,FreeImage 被当作动态链接库。若需用作静态链接库,则在应用程序类的InitInstance 中调用FreeImage_Initialise(0)来初始化FreeImage库。\[1\] 引用\[2\]:FreeImage下载是在http://freeimage.sourceforge.net/ ,解压缩后里面有个Dist的文件夹,这里面的五个文件就是我们用FreeImage所需要的全部东东了,即FreeImage.lib、FreeImage.dll、FreeImaged.lib、FreeImaged.dll、FreeImage.h,以d 结尾的库文件用于Debug版本,没有的用于Release版本的。\[2\] 引用\[3\]:FreeImage :非常好用的开源图像库,支持二十多种类型的图像和多种图像处理功能。只需一个头文件、一个静态库、一个动态链接库即可。目前还不支持矢量图。C语言的体系,大量使用指针运算速度可以保证,内含先进的多种插值算法。\[3\] 问题:#include "FreeImage/FreeImage.h"是什么意思? 回答: #include "FreeImage/FreeImage.h"是C/C++中的预处理指令,用于将FreeImage库的头文件包含到当前的源代码文件中。这样,我们就可以在代码中使用FreeImage库提供的函数和数据类型了。\[1\] #### 引用[.reference_title] - *1* *2* *3* [FreeImage使用方法&FreeImage Tutorial](https://blog.csdn.net/weixin_39758392/article/details/117247473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值