zoukankan      html  css  js  c++  java
  • 如何使用GDI绘制半透明矩形

    [cpp] view plain copy
     
    1. /*使用GDI绘制半透明矩形*/  
    2. void CDirectXDraw::DrawHalfOpacityRect(HDC hdc,CRect rect)  
    3. {  
    4.     CDC dc;  
    5.     dc.Attach(hdc);  
    6.   
    7.     CDC cdc;   
    8.     cdc.CreateCompatibleDC( &dc );  
    9.   
    10.     CBitmap bitmap, *pOldBitmap;  
    11.     bitmap.CreateCompatibleBitmap( &dc, rect.right, rect.bottom );  
    12.     CRect src( rect );  
    13.     src.OffsetRect( CSize( -rect.left, -rect.top ) );  
    14.     pOldBitmap = cdc.SelectObject( &bitmap );  
    15.     cdc.FillSolidRect( src, RGB( 0, 0, 0 ) ); //透明色  
    16.   
    17.     if( ::AlphaBlend == 0 )  
    18.     {  
    19.         dc.BitBlt( rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, &cdc, src.left, src.top, SRCINVERT );  
    20.   
    21.     }else{  
    22.   
    23.         BLENDFUNCTION bf;      
    24.         memset( &bf, 0, sizeof( bf ) );  
    25.         bf.SourceConstantAlpha = 0x3f; //透明程度//值越大越不透明  
    26.         bf.BlendOp = AC_SRC_OVER;  
    27.   
    28.         ::AlphaBlend( dc.GetSafeHdc(), rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top,   
    29.             cdc.GetSafeHdc( ), src.left, src.top, src.right - src.left, src.bottom - src.top, bf );    
    30.     }  
    31.   
    32.     cdc.SelectObject( pOldBitmap );  
    33.   
    34.     dc.Detach();  
    35. }  

    http://blog.csdn.net/lee353086/article/details/38311421

  • 相关阅读:
    tp框架实现ajax
    tp框架的增删改查
    tp框架获取常量信息、方法、命名空间
    tp框架,访问方式、空方法
    tp基础,文件存储路径
    缓存
    CMS系统存储路径
    Smarty模版引擎的原理
    php的empty(),trim(),strlen()方法
    PHP 流程管理
  • 原文地址:https://www.cnblogs.com/findumars/p/7635869.html
Copyright © 2011-2022 走看看