在Silverlight 4中:如何以编程方式设置笔划的不透明度?

时间:2010-11-19 19:49:23

标签: c# silverlight silverlight-4.0 opacity stroke

我想设置从用户绘图在屏幕上获得的笔触的不透明度。我可以得到要设置的笔触的绘图,大小,轮廓,但不能得到它的不透明度。

这是我的代码

StylusPointCollection spTemp = e.StylusDevice.GetStylusPoints(MyIP);
        tempStroke.StylusPoints.Add(spTemp);

        tempStroke.DrawingAttributes.Color = Colors.Red;
        tempStroke.DrawingAttributes.OutlineColor = Colors.Black;

        tempStroke.DrawingAttributes.Width = BrushSize.Value;
        tempStroke.DrawingAttributes.Height = BrushSize.Value;

        MyIP.Strokes.Add(tempStroke);

感谢任何帮助

简单代码

3 个答案:

答案 0 :(得分:2)

在颜色上设置alpha值。例如,对于不透明度为+ -0.5且颜色为红色:

tempStroke.DrawingAttributes.Color = Colors.FromArgb(125,255,0,0);

答案 1 :(得分:1)

我认为你必须在颜色上设置Alpha。 例如:

//the first 00 would be your alpha channel, then red, then green, then blue
tempStroke.DrawingAttributes.Color = Colors.FromArgb(0x00,0xFF,0x00,0x00);

答案 2 :(得分:0)

您可以将Color.A属性设置为0到255之间的值,或将Color.ScA属性设置为0到1之间的十进制值。这两个属性保持同步,因此如果您更改一个,请期望其他更新为等效值。

http://msdn.microsoft.com/en-us/library/system.windows.media.color.aspx