在form1的tope中,我做了:
using System.Windows.Media;
但是在我的代码中,我使用笔刷颜色的所有地方,我必须在它之前添加System.Drawing,例如:
System.Drawing.Pen(System.Drawing.Color.Green, 2f))
如果我不这样做,我会收到错误,例如:
System.Drawing.Pen(Color.Green, 2f))
错误2'颜色'是'System.Drawing.Color'和'System.Windows.Media.Color'之间不明确的引用
所以我在它之前添加System.Drawing并且没有错误。
问题是当我尝试在我的方法中使用SolidColorBrush时,这就是为什么我需要添加Media类:
private void DrawText(string text, System.Drawing.Color pen_color, System.Windows.Media.Color brushes_color, Graphics graphics, int point1, int point2, Point point3)
{
SolidColorBrush brush = new SolidColorBrush(brushes_color);
System.Drawing.Color color = ((System.Windows.Media.Brushes)brush).Color;
using (System.Drawing.Pen pen = new System.Drawing.Pen(pen_color, 6f))
{
Point pt1 = new Point(point1); // 369, 90
Point pt2 = new Point(point2); // 469, 90
graphics.DrawLine(pen, pt1, pt2);
}
graphics.DrawString(text,
this.Font, (System.Drawing.Brushes)brush, point3); // 480, 83
}
我遇到了一些错误:
在这一行:System.Drawing.Brushes
错误5参数3:无法从'System.Drawing.Brushes'转换为'System.Drawing.Brush'
开:第3点
错误6参数4:无法从'System.Drawing.Point'转换为'System.Drawing.RectangleF'
在这一行:(System.Drawing.Brushes)刷
错误3无法将类型'System.Windows.Media.SolidColorBrush'转换为'System.Drawing.Brushes'
在这一行:System.Drawing.Color color =((System.Windows.Media.Brushes)刷).Color;
错误2无法将类型'System.Windows.Media.SolidColorBrush'转换为'System.Windows.Media.Brushes'
在这部分:graphics.DrawString
错误4'System.Drawing.Graphics.DrawString(string,System.Drawing.Font,System.Drawing.Brush,System.Drawing.RectangleF)'的最佳重载方法匹配有一些无效的参数
属性Color不存在:System.Windows.Media.Color brushes_color
错误1“System.Drawing.Brush”类型中不存在类型名称“Color”
我想做的就是让用户可以在这一行上选择画笔颜色:
graphics.DrawString(text,
this.Font, (System.Drawing.Brushes)brush, point3);
在原文中,该行是:
graphics.DrawString(text,
this.Font, Brushes.Green , point3);
但是我希望使用它会选择画笔的颜色。
答案 0 :(得分:3)
问题是当我试图在我的方法中使用SolidColorBrush时,这就是为什么我需要添加Media类
你不需要那个。 System.Drawing
中的班级称为SolidBrush
。删除System.Windows.Media
引用。