我正在尝试为渐变按钮添加边框:
var c = bdPencil.ColorMain;
Context.SetLineWidth(bdPencil.Width);
Context.SetStrokeColor(c.R, c.G, c.B, c.A);
Context.Clip();
CGColorSpace colorSpace = CGColorSpace.CreateDeviceRGB();
CGGradient gradient = new CGGradient(colorSpace, colors,
new float[]{ 0, 1 });
Context.DrawLinearGradient(gradient, new PointF((float)r.CenterX, (float)r.Top), new PointF((float)r.CenterX, (float)r.Bottom),
CGGradientDrawingOptions.DrawsAfterEndLocation);
Context.RestoreState();
它不起作用。 如果我用纯色做同样的事情,一切都会起作用:
var c = bdPencil.ColorMain;
Context.SetLineWidth(bdPencil.Width);
Context.SetStrokeColor(c.R, c.G, c.B, c.A);
var g = bgPencil.ColorMain;
Context.SetFillColor(g.R, g.G, g.B, g.A);
Context.DrawPath(CGPathDrawingMode.FillStroke);
在DrawLinearGradinet
没有任何反应之后,当我试图抚摸路径时。
我想我需要像GradientStroke这样的东西,但我找不到它。
知道为什么吗?
答案 0 :(得分:1)
错误在于我尝试用上下文做一切。 我绘制了一条路径,抚摸它然后我绘制了渐变并且它有效。