一、运行环境介绍
Linux系统: Redhat6.3 (32位)
gcc 版本 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)
二、功能介绍打开一张BMP图片,读取RGB源数据进行缩放再生成新的BMP图片。
三、核心代码由于处理的是BMP图片数据,传入的缩放后的图片宽度需要是4的倍数.
缩放算法参考: http://blog.chinaunix.net/uid-22915173-id-2185545.html
#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