利用mfc的对话框中的静态文本控件显示图像,但是图在放大时显示范围超过了空间大小,怎么使超出的部分不

2024-12-05 13:31:36
推荐回答(2个)
回答(1):

http://wenku.baidu.com/view/0aba50ea551810a6f52486b1.html
来看一下百度文库的MFC图片控件的使用总结,包含了控件尺寸适应图片尺寸,或者图片尺寸适应控件的尺寸,你的问题就是怎么让图片适应控件尺寸的问题。

http://www.myexception.cn/vc-mfc/169014.html
这一篇文章是只显示位图的一部分,其他的隐藏的例子。

如果像你说的那样用静态文本控件显示图像,我没有这样用过,不过查看了资料,你应该是用
LoadImage和BitBlt这两个函数实现的,这样的话,把LoadImage这个函数的第4第5个参数改小一些,然后把BitBlt的第3第4个参数同比例改小一些,你试一下。

回答(2):

我也在搞这个事情,就分享我的解决方法吧:

  1. 首先,定义一个矩形框,放图像用的

    CRect  rect1;

  2. 然后获取静态文本框的。。。

    GetDlgItem(IDC_STATIC)->GetClientRect(&rect1);//这句应该保证使图像在静态文本框内,其中IDC_STATIC为静态文本框的ID。

  3. 最后就是在rect1这个矩形框放入你的图像了。

    我基于这种方法实现了静态图像的读取,也实现相机图像的实时读取,能在静态文本框内对图像进行放大、缩小、平移等操作。

    我现在处于初级阶段,希望有更好的答案。