加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C MFC如何绘制Alpha透明矩形

发布时间:2020-12-16 03:19:40 所属栏目:百科 来源:网络整理
导读:在C MFC应用程序中.使用dc(CPaintDC dc(this);) 如何绘制一个可以调整的Alpha透明度矩形(LPRECT). 以下是我需要转换为C的示例c#代码 private void pictureBox1_Paint(object sender,PaintEventArgs e) { Graphics g = e.Graphics; Color color = Color.FromA
在C MFC应用程序中.使用dc(CPaintDC dc(this);)

如何绘制一个可以调整的Alpha透明度矩形(LPRECT).

以下是我需要转换为C的示例c#代码

private void pictureBox1_Paint(object sender,PaintEventArgs e)  
{
    Graphics g = e.Graphics;
    Color color = Color.FromArgb(75,Color.Red); //sets color Red with 75% alpha transparency

    Rectangle rectangle = new Rectangle(100,100,400,400);
    g.FillRectangle(new SolidBrush(color),rectangle); //draws the rectangle with the color set.
}

解决方法

你需要研究一下GDI.它有点像faff但你可以创建一个“Graphics”对象,如下所示:
Gdiplus::Graphics g( dc.GetSafeHdc() );
Gdiplus::Color color( 192,255,0 );

Gdiplus::Rect rectangle( 100,400 );
Gdiplus::SolidBrush solidBrush( color );
g.FillRectangle( &solidBrush,rectangle );

别忘了做

#include <gdiplus.h>

和打电话

GdiplusStartup(...);

某处:)

你会发现它非常类似于你的C#代码;)

值得注意的是,你在FromArgb代码中放入的75并没有设置75%的alpha值,它实际上设置了75/255 alpha或~29%alpha.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读