在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.
原文地址:https://www.jb51.cc/c/111871.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。