如何创建透明画刷?

willwayer23 2010-03-09 09:00:52

[DllImport("gdi32.dll")]
public static extern IntPtr CreateSolidBrush(uint crColor);


利用API函数如何创建透明画刷
如图




想给图中矩形透明填充 利用API函数创建
...全文
857 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
willwayer23 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 zhui22222 的回复:]
api函数好像是24位色的吧,楼主可以将填充好的图形数据段取出,更改其A值再copy回去,详细可参考MSDN中Bitmap.LockBits方法的示例
[/Quote]
谢谢回答 回去测试下
zhui22222 2010-03-16
  • 打赏
  • 举报
回复
api函数好像是24位色的吧,楼主可以将填充好的图形数据段取出,更改其A值再copy回去,详细可参考MSDN中Bitmap.LockBits方法的示例
willwayer23 2010-03-16
  • 打赏
  • 举报
回复
继续求解 高手帮忙
willwayer23 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xujiaoxiang 的回复:]
设置绘图模式的api。
[DllImport("gdi32.dll")]
private static extern IntPtr SetROP2(IntPtr hdc, IntPtr fnDrawMode);

参见
http://msdn.microsoft.com/en-us/library/dd145088(VS.85).aspx
[/Quote]
恩 看看先
dx5333 2010-03-15
  • 打赏
  • 举报
回复
vb ttd !
Emm..... 2010-03-15
  • 打赏
  • 举报
回复
学习学习~~~
xujiaoxiang 2010-03-15
  • 打赏
  • 举报
回复
[DllImport("gdi32.dll")]
private static extern IntPtr SetROP2(IntPtr hdc, int fnDrawMode);

xujiaoxiang 2010-03-15
  • 打赏
  • 举报
回复
设置绘图模式的api。
[DllImport("gdi32.dll")]
private static extern IntPtr SetROP2(IntPtr hdc, IntPtr fnDrawMode);

参见
http://msdn.microsoft.com/en-us/library/dd145088(VS.85).aspx
willwayer23 2010-03-15
  • 打赏
  • 举报
回复
各位帮忙。。。。

willwayer23 2010-03-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yuwenge 的回复:]
我有一个小问题,为什么你要用API调用GDI,而不用GDI+来做呢?
[/Quote]

因为之前的绘图函数都是用API调用做的 想重复利用目前的代买
现在就是遇到 透明度 填充的一个问题了 还请帮忙
cnzdgs 2010-03-11
  • 打赏
  • 举报
回复
c.ToArgb,不过CreateSolidBrush好像不支持A。
卧_槽 2010-03-11
  • 打赏
  • 举报
回复
我有一个小问题,为什么你要用API调用GDI,而不用GDI+来做呢?
yuanhuiqiao 2010-03-11
  • 打赏
  • 举报
回复
在RGB调色版中,黑色black (0x00000000)刚好就是ARGB(short for Alpha, Red, Green and Blue)的100%透明
willwayer23 2010-03-11
  • 打赏
  • 举报
回复
引用 5 楼 cnzdgs 的回复:
c.ToArgb,不过CreateSolidBrush好像不支持A。

是的 问题就是出在这 有没有解决办法?
willwayer23 2010-03-10
  • 打赏
  • 举报
回复
自己顶 .
willwayer23 2010-03-10
  • 打赏
  • 举报
回复
引用 2 楼 cnzdgs 的回复:
[DllImport("gdi32.dll")]
public static extern IntPtr GetStockObject(int fnObject);
参数给5。

谢谢楼上回答

如果有如下代码
Color c=Color.FromArgb(128, 255, 0, 0);
[DllImport("gdi32.dll")]
public static extern IntPtr CreateSolidBrush(uint crColor);

如何把 颜色c转化为 CreateSolidBrush(Uint crColor)中的crColor参数 保证二者画出来的颜色相同
cnzdgs 2010-03-09
  • 打赏
  • 举报
回复
[DllImport("gdi32.dll")]
public static extern IntPtr GetStockObject(int fnObject);
参数给5。
willwayer23 2010-03-09
  • 打赏
  • 举报
回复
请赐教 谢谢· 回复内容太短了!

111,100

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧