Xamarin 如何从起点和终点指定矩形?

Xamarin 如何从起点和终点指定矩形?,xamarin,linear-gradients,drawrectangle,cggradientref,Xamarin,Linear Gradients,Drawrectangle,Cggradientref,我有一个矩形边界(10,20,100,200),CGPoints是起始点(0.5,0.5),端点是(1,1)。从这些点出发,需要如何计算线段边界?我需要将这个边界应用于CGGradient的起点和终点 Eg代码: GradientColor gradientColor1 = new GradientColor(){StartPoint = new CGPoint(0.5, 0), EndPoint= new CGPoint(0.5, 1)}; GradientStop stop1 = new

我有一个矩形边界(10,20,100,200),CGPoints是起始点(0.5,0.5),端点是(1,1)。从这些点出发,需要如何计算线段边界?我需要将这个边界应用于CGGradient的起点和终点

Eg代码:

GradientColor gradientColor1 = new GradientColor(){StartPoint = new CGPoint(0.5, 0), EndPoint= new CGPoint(0.5, 1)};

GradientStop stop1 = new GradientStop() { Color = UIColor.Red, Offset = 0.1f };
GradientStop stop2 = new GradientStop() { Color = UIColor.Blue, Offset = 0.9f };

你能帮我解决这个问题吗

这里有一个示例,它将在当前CGC上下文中创建从左到右的线性渐变

using (var context = UIGraphics.GetCurrentContext ()) {
    context.SaveState();
    var startPoint = new CGPoint(rect.Left, 0);
    var endPoint = new CGPoint(rect.Right, 0);
    var components = new CGColor[] { UIColor.Red.CGColor, UIColor.Blue.CGColor };

    using (var rgb = CGColorSpace.CreateDeviceRGB()) {
        var gradient = new CGGradient(rgb, components);
        context.DrawLinearGradient(gradient, startPoint, endPoint, CGGradientDrawingOptions.DrawsBeforeStartLocation);
    };
    context.RestoreState();
}
更改起点和终点可以从右向左、向上/向下、对角等进行渐变绘制


矩形边界:(10,20,100,200);渐变点=起点(0.5,0)和终点(0.5,1);渐变停止1:Color:UIColor.Red,偏移量=0.4;渐变停止2:颜色:UIColor.Blue,偏移量=0.6@sushingover在query.GradientColor/GradientStop中更新的格式化代码Windows类不是iOS,您到底想用渐变做什么?创建一个
CAGradientLayer
?我正在iOS中尝试使用CGGradient?在我的上下文中习惯性地绘制