1.5.4 图像的渐进显示
图像渐进显示的思路是先记录下图像的每个像素点的灰度值,显示的时候先将屏幕置黑,将循环显示图像n次,这里设n为0,1,2,…,256。每一次显示像素灰度值的n/256倍,图像的像素点计算一遍后,显示一次,重复执行上述过程,直至每一个屏幕上的像素点的灰度值恢复到原始图像灰度值的水平。渐进显示特效虽然不需要对图像进行分块,但是需要开辟两块内存空间,一块用来存储图像的原始灰度值,另一块用来存储每次计算后的像素灰度值。
/******************************************** CRect rect(0,0,bitmapWidth,bitmapHeight);//以源 LPBITMAPINFO pBitmapInfo=(BITMAPINFO*)m_lpBmpInfoHead;
for(int m=0;m<256;m++) |
在视图类CChap1_6View中映射“渐进显示”菜单事件处理函数OnFadeIn(),该函数的实现过程与前面“扫描显示”菜单事件处理函数CChap1_6View::OnScan()相类似,限于篇幅,此处不赘述,感兴趣的读者可以运行程序,查阅相关代码。程序运行时,点击“渐进显示”菜单,效果如图1-27所示。
错误!
|
| (点击查看大图)图1-27 渐进显示的效果 |
【责任编辑:夏书 TEL:(010)68476606】
| 回书目 上一节 下一节 |
