0

我想设置从用户在屏幕上绘制的 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);

任何帮助表示赞赏

简单代码

4

3 回答 3

2

设置颜色的 alpha 值。例如对于 +-0.5 的不透明度和红色:

tempStroke.DrawingAttributes.Color = Colors.FromArgb(125,255,0,0);
于 2010-11-19T20:01:48.830 回答
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);
于 2010-11-19T19:59:41.553 回答
0

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

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

于 2010-11-19T19:57:05.550 回答