FreeImage加速保存图像
来源:互联网 发布:更新多字段sql语句 编辑:程序博客网 时间:2024/06/05 10:40
http://www.cppblog.com/gaimor/archive/2010/07/21/120984.html
FreeImage图形库函数一个
一直以来使用FreeImage保存图像总是采用下面的办法:FreeImage图形库函数一个
FIBITMAP* bitmap =FreeImage_Allocate(width,height,24);
const unsigned char* source = data;
for(int y=0; y < height; y++ )
{
unsigned char* scanline = (unsigned char*)FreeImage_GetScanLine(bitmap, height - y - 1 );
memcpy(scanline,data,sizeof(source[0]) * width);
data += width;
}
const unsigned char* source = data;
for(int y=0; y < height; y++ )
{
unsigned char* scanline = (unsigned char*)FreeImage_GetScanLine(bitmap, height - y - 1 );
memcpy(scanline,data,sizeof(source[0]) * width);
data += width;
}
FreeImage_Save(FIF_BMP,bitmap,file,0)
不过今天看到了函数:FreeImage_ConvertFromRawBits
使用它可以更加快速的保存图形如下:
FIBITMAP* bitmap = FreeImage_ConvertFromRawBits(data,width,height,pitch,24,FI_RGBA_BLUE_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_RED_MASK,FALSE);
然后调用FreeImageSave即可另外关于获取FreeImage图形到数组
也有2个办法
一个是逐行复制
一个是使用memcpy(data,FreeImage.GetDibBits())
当然也可以逐像素复制咯
0 0
- FreeImage加速保存图像
- FreeImage的图像处理软件
- FreeImage图像编程入门
- VB6: FreeImage图像二值化
- freeImage图像旋转滤波
- freeimage 图像转char*
- 图像处理库(FreeImage)
- FreeImage使用基础,图像旋转,图像滤波
- FreeImage
- 图像库OpenCV/FreeImage/CImg/CxImage
- 四大图像库:OpenCV/FreeImage/CImg/CxImage
- 四大图像库:OpenCV/FreeImage/CImg/CxImage
- 使用FreeImage写通用图像加载器
- 四大图像库:OpenCV/FreeImage/CImg/CxImage
- 四大图像库:OpenCV/FreeImage/CImg/CxImage
- 四大图像库:OpenCV/FreeImage/CImg/CxImage
- 四大图像库:OpenCV/FreeImage/CImg/CxImage
- 四大图像库:OpenCV/FreeImage/CImg/CxImage
- SKU多维属性状态判断算法
- CODE-1015 计算器的改良
- 定时器CountDownTimer
- LeetCode第一天
- java垃圾回收机制
- FreeImage加速保存图像
- C++ size_t 和size_type的区别
- bzoj2227: [Zjoi2011]看电影(movie)
- 迷瘴(贪心)
- AppDelegate
- 使用result标签出错.
- UVa 839
- java机试-抽奖
- 新买的山地车被偷了