最近在用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>(