2014-10-27 124 views
1

什么是从颜色创建画笔的正确方法?我试过Brush b = new Brush(color);但是Brush但这是不允许的。我可以使用Brushes获得现有颜色,但是没有办法创建特定的画笔。我用我填充一个纯色矩形。从颜色创建画笔的正确方法是什么?

当前的代码我有涉及创建Pen,然后利用其Brush,但是这似乎并不像正确的做法:

Brush b = new Pen(color).Brush; 

什么是正确的做法,我应该去这样做呢?

+0

你需要一个'SolidBrush'吗? – 2014-10-27 23:10:34

+1

你需要GDI +或WPF吗? – 2014-10-27 23:12:55

+0

@ DanielA.White我不完全知道两者之间的区别,但我很确定我需要GDI +。我甚至不知道有两个;我对这个东西有点了解。这是'System.Drawing'类型。 – Pokechu22 2014-10-27 23:16:22

回答

2

两个电流答案覆盖两种可能的可能性;如果你使用的是GDI +,你需要new SolidBrush(color),如果你使用的是WPF,你需要new SolidColorBrush(color)

原因是,无论是哪一种,Brush都是一个抽象类,它涵盖了可以平铺位图或应用渐变或使用其他颜色而非单一颜色绘制的一系列可能的画笔。

1

您需要创建SolidColorBrush

Brush b = new SolidColorBrush(color); 
+0

这是WPF fyi。 – 2014-10-27 23:12:00

+0

@ DanielA.White OP链接到关于WPF类的MSDN文章,所以我认为这是他们需要的。 – Athari 2014-10-27 23:12:56

+0

Pen的链接是针对GDI +的。 – 2014-10-27 23:13:12

1

尝试使用GDI +创建一个新的SolidBrush

SolidBrush mySolidBrush = new SolidBrush(color); 
相关问题