zoukankan      html  css  js  c++  java
  • 位图去空白

    显示位图并去掉位图周围空白区域:

    需要调用函数:TransparentBlt

    具体参见:http://baike.baidu.com/view/1080409.htm?fr=ala0_1

      函数功能:该函数对指定的源设备环境中的矩形区域像素的颜色数据进行位块(bit_block)转换,并将结果置于目标设备环境。

      函数原型:BOOL TransparentBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, UINT crTransparent);

      参数:

      hdcDest:指向目标设备环境的句柄。

      nXOriginDest:指定目标矩形左上角的X轴坐标,坐标以逻辑单位表示。

      nYOriginDest:指定目标矩形左上角的Y轴坐标,坐标以逻辑单位表示。

      nWidthDest:指定目标矩形的宽度。

      nHeightDest:指定目标矩形高度的句柄。

      hdcsrc:指向源设备环境的句柄。

      nXOriginSrc:指定源矩形(左上角)的X轴坐标,坐标以逻辑单位表示。

      nYOriginsrc:指定源矩形(左上角)的Y轴坐标,坐标以逻辑单位表示。

      nWidthSrc:指定源矩形的宽度。

      nHeightSrc:指定源矩形的高度。

      crTransparent:源位图中的RGB值当作透明颜色。返回值:如果函数执行成功,那么返回值为TRUE;如果函数执行失败,那么返回值为FALSE。

    样例:

    代码
    void CExampleView::Draw(int nx,int ny)
    {
    CDC
    *pDC=GetDC();

    CBitmap bitmap;
    bitmap.LoadBitmapW(IDB_BITMAP1);

    CDC dcCompatible;
    dcCompatible.CreateCompatibleDC(pDC);

    dcCompatible.SelectObject(
    &bitmap);

    TransparentBlt(pDC
    ->m_hDC, //CDC 转成 HDC
    (nx+1)*30-14,
    (ny
    +1)*30-14,
    28,
    28,
    dcCompatible1.m_hDC,
    0,
    0,
    28,
    28,
    RGB(
    255,255,255));
    }
  • 相关阅读:
    openstack 使用cloud init 和 console-log, nbd或者libguestfs 获取VM中的硬件信息。
    Unity doesn't load, no Launcher, no Dash appears
    ssh 应用
    设计感悟——产品的3个属性
    别让用户发呆—设计中的防呆的6个策略
    用户流失原因调研4步经
    5种方法提高你网站的登录体验
    浅谈当下7个网页设计趋势(转)
    适应各浏览器图片裁剪无刷新上传jQuery插件(转)
    C#操作Excel数据增删改查(转)
  • 原文地址:https://www.cnblogs.com/submarinex/p/1941235.html
Copyright © 2011-2022 走看看