当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 一、 引言 当我们想仔细观察某个细微的东西时,一般都会使用放大镜。
 

 

 ·c++中的引用(1)    »显示摘要«
    摘要:引用是c++引入的新语言特性,是c++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。引用简介引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名说明:(1)&在此不是求地址运算,而是起标识作用。(2)类......
 ·vc开发小技巧(1)    »显示摘要«
    摘要:一、打开cd-rommcisendstring("set cdaudio door open wait",null,0,null);二、关闭cd_rommcisendstring("set cdaudio door closed wait",null,0,null);三、关闭计算机osversioninfo osversioninfo; //包含操作系统版本信息的数据结构osversioninfo......


在MFC下实现图像放大镜

一. 引言

可以借助于windows操作系统附带的放大程序来实现.但该程序只能以固定的放大倍数去进行观看,有时并不能满足我们的需要.本文就通过mfc基本类库提供的stretchblt函数来实现对屏幕图象的局部放大,并且可以随意放大.缩小,选取到合适的放大倍数来对图像的细节进行观察. 【程序编程相关:网吧无盘问题(3)

当我们想仔细观察某个细微的东西时,一般都会使用放大镜.而要看清显示在计算机屏幕上的图片或文字时通常也 【推荐阅读:无盘网吧速度比有盘网吧快吗?

本程序主要用来对图像的局部进行可调倍数的放大,应当具有以下主要功能: 【扩展信息:网吧无盘问题(1)

二. 设计与实现

1. 移动mouse放大显示图像的不同部位

2. 左击增加放大倍率.右击减少放大倍率.  

从光学角度来看,对物体的放大成像是通过把较小的真实物体显示成尺寸较大的虚像来实现的.因此我们可以用类

似的原理,把图像中待放大的区间从较小的显示范围拉伸到一个比较大的显示范围即可达到图像放大的效果,两个区间的比值也就是图像的放大倍率.可以通过缩小源区间的范围或扩大放大区间的范围来实现放大倍率的调整.在mfc基本类库中提供有cdc类的stretchblt函数可以将一幅位图从一个源矩形以一定的光栅操作拷贝到另外一个不同大小的目标矩形中去,因此可以用此函数来实现图象放大的功能,其函数原形声明如下:

bool stretchblt( int x, int y, //目标矩形的坐标原点

int nwidth, int nheight, //目标矩形的长度与宽度  

cdc* psrcdc, //源设备环境句柄

int xsrc, int ysrc, //源矩形的坐标原点

int nsrcwidth, int nsrcheight, //源矩形的长度与宽度

dword dwrop ); //光栅操作标志

当指定的源与目标矩形的宽度或高度不一样时,stretchblt函数将创建一个位图的镜像.如果是宽度有变化,就沿x轴创建镜像;如果是高度上有变化就沿y轴创建镜像.而且该函数可以在内存中对源图象做拉伸或压缩处理后再拷贝到目标矩形中去.

要放大图像首先要把图像显示出来,一般可以从文件动态装载或者直接从资源中用loadbitmap读取位图资源.
...   下一页
 ·mfc的关键技术:动态创建    »显示摘要«
    摘要:动态创建就是运行时创建指定类的对象,在mfc中大量使用。如框架窗口对象、视对象,还有文档对象都需要由文档模板类对象来动态的创建。 初次接触mfc的时候,很容易有这样的迷惘。mfc的几大类不用我们设计也就罢了,但最疑惑的是不用我们实例化对象。本来最直观的理解就是,我们需要框架的时候,亲手写上cframewnd myframe;需要视的时候,亲自打上cview myview;……但mfc不给我们这个机......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE