最近在用MFC写了一个图片浏览器,老实说,被图像大小调整磨得筋疲力竭,好在最终还是解决了。这里贴部分显图代码,留给大家参考参考
//函数UpdateDrawRect,目的是更新实际绘图区域
//m_img_rect是指图像的原始大小矩形
//m_Draw_rect是指实际绘图时用到的矩形大小
//m_PicCtl_rect是指可用于绘图的静态控件的大小矩形
int img_width = m_Img_rect.Width();
int img_height = m_Img_rect.Height();
int actual_width = m_PicCtl_rect.Width();
int actual_height =m_PicCtl_rect.Height();
float fscaleimgHW = static_cast<float>(img_height) / static_cast<float>(img_width);
float fscaleimgWH = static_cast<float>(img_width) / static_cast<float>(img_height);
int cur_W = 0, cur_H = 0;
float fscale = 1.0;
if (img_width > actual_width&&img_height <= actual_height)//图像宽度大于客户区且图像高小于等于客户区
{
cur_W = actual_width;
cur_H = static_cast<int>(cur_W

本文介绍了如何在MFC应用程序中使用Static控件显示图片,并详细讨论了如何调整图片以适应窗口大小。作者分享了关键的Draw_rect和OnPaint代码段,为MFC图像浏览器的开发提供参考。
最低0.47元/天 解锁文章
6038

被折叠的 条评论
为什么被折叠?



