一、运行环境介绍
Linux系统: Redhat6.3 (32位)
gcc 版本 4.4.6 0305 (Red Hat 4.4.6-4) (GCC)
二、功能介绍
打开一张BMP图片,读取RGB源数据进行缩放再生成新的BMP图片。
三、核心代码
由于处理的是BMP图片数据,传入的缩放后的图片宽度需要是4的倍数.
#include
#include
#include
int PicZoom(unsigned char *s_buff,unsigned int s_width,unsigned int s_height,unsigned char *buff,unsigned int width,unsigned int height);
void *my_memcpy(void *v_dst,const void *v_src,unsigned char c);
#pragma pack(1) /* 必须在结构体定义之前使用,这是为了让结构体中各成员按1字节对齐 */
/*需要文件信息头:14个字节 */
struct BITMAPFILEHEADER
{
unsigned short bfType; //保存图片类似。 BM
unsigned long bfSize; //图片的大小
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned long bfOffBits; //RGB数据偏移地址
};
/* 位图信息头 */
struct BITMAPINFOHEADER { /* bmih */
unsigned long
如果觉得《Linux 图片全屏缩放 c RGB源数据操作: 实现图片放大 缩小》对你有帮助,请点赞、收藏,并留下你的观点哦!