请问用CDC类怎样画出填充色是半透明的矩形?有颜色,但是可以看到图形下面的图形和背景。
谢谢回复!

解决方案 »

  1.   

    LOGBRUSH logbr;
    memset(&logbr , 0 , sizeof(LOGBRUSH));
    logbr.lbColor = RGB(255,0,0);
    logbr.lbStyle = BS_NULL;
    HBRUSH hBrush = CreateBrushIndirect(&logbr);
    HBRUSH oldbr = (HBRUSH)SelectObject(dcMem , hBrush);
    RECT rt = {0,0,128,128};
    FillRect(dcMem , &rt , hBrush);BS_HOLLOW          Hollow brush. 
    BS_NULL            Same as BS_HOLLOW. 
      

  2.   

    首先得到你要画的矩形区域的各点颜色RGB值,之后和你矩形的颜色RGB值相加再除二,把得到的RGB值画上去就是半透明的效果