zoukankan      html  css  js  c++  java
  • CImage 往Picture Control贴图 图像显示不正常

    在使用CImage 往vc控件 picture Control 上贴图的时候图像显示不太正常如图:

    已知原始图片的宽高为640*640  而我上面picture Control  控件宽高小于原始图像宽高。

    从网上找到原因是因为: 图像被缩小显示了。DRAW默认的压缩算法显示后就是这样!

    在 CImage::Draw 前面加这2句就能正常显示图片了

    //设置缩放模式 halftone代表最高的压缩画质
    SetStretchBltMode(pDC->m_hDC,HALFTONE);
    SetBrushOrgEx(pDC->m_hDC,0,0,NULL);
    
    //如果不想使用SetBrushOrgEx,前面只加一句
    //COLORONCOLOR:删除像素。该模式删除所有消除的像素行,不保留其信息
    SetStretchBltMode(pDC->m_hDC,COLORONCOLOR);

    代码修改后:

    SetStretchBltMode(pDC->m_hDC, HALFTONE);
    SetBrushOrgEx(pDC->m_hDC, 0, 0, NULL);
    
    image.Draw(pDC->m_hDC, rect); //将图片画到Picture控件表示的矩形区域 

    效果图就正常了:

    ==========================================================================

    参考:http://bbs.csdn.net/topics/390393574

  • 相关阅读:
    51nod 1185 威佐夫游戏 V2
    51nod 1212 无向图最小生成树
    51nod 1242 斐波那契数列的第N项
    51nod 1240 莫比乌斯函数
    51nod 1256 乘法逆元
    51nod 1264 线段相交
    51nod 1265 四点共面
    51nod 1298 圆与三角形
    51nod 2006 飞行员配对
    CGLIB介绍与原理
  • 原文地址:https://www.cnblogs.com/wainiwann/p/8058896.html
Copyright © 2011-2022 走看看