Eastmou nt 制作 第六课 bmp 图片采样处理
采样处理原理 该工程所有的处理都基于24 位的bmp 格式图片的处理,24 为表示biBitCount=24:1个像素占3个字节(red、green、blue)
如图一张 512*512 的原图,保持灰度级 256 不变后的各种采样
输入采样坐标:如 16*16,它的含义是: 原图512*512 像素,现在组成一个新的图片为16*16 像素, (512/16=32,512/16=32)则每 32*32 组成一个新的区域
共有这种区域16*16 个,采样的方法有2 种: a
把这个32*32 区域全部赋值成左上角那个像素,这样图片的大小不变,困难在于赋值要 4 层循环
(项目中采用的就是这种方法) b
把这个32*32 区域的左上角取出来,组成一个新的图片,共有16*16个像素,这张图片的大小要变小,只有16*16 个像素
但难点在于同时要把 bmp 文件头中的图片大小、信息头中的长宽像素改变、偏移量等信息更新
Eastmou nt 制作 举例说明采样:(工程为处理剩余部分区域) 难点:还未处理剩余部分的采样
Eastmount 制作
采样程序实现 第一步:设置菜单栏 a
将试图切换到ResourceView界面--选中Menu--在IDR_MAINFRAME中添加菜单“采样”--双击它在菜单属性中选择“弹出”; b
在“采样”的子菜单中添加:属性为默认属性
ID_CY--图片采样
建立类导向:查看--建立类导向(Ctrl+W)--CBmpDrawView(类名)--ID_CY--COMMAND(Messages)--默认成员函数名
产生 void CBmpDrawView::OnCy()采样函数
Eastmount 制作 第二步:设置对话框 a
将试图切换到ResourceView界面--选中