I am using "DrawLinearGradient" function to draw gradient line. But the 2 colors that i am using are not dividing equally in the line.
CGColorSpace colorSpace = CGColorSpace.CreateDeviceRGB();
CGColor[] colors = {UIColor.Red.CGColor,UIColor.Green.CGColor};
float[] locations = {0.0f,0.5f,0.5f,1.0f};
CGGradient gradient = new CGGradient(colorSpace,colors,locations);
ColorMessage.FontSize = width;
context.SetLineWidth(width);
context.SaveState();
context.Clip();
context.DrawLinearGradient(gradient,penVertices[0],penVertices[count-1],0);
context.StrokePath();
gradient.Dispose();
colorSpace.Dispose();
context.RestoreState();
I'm assuming that the Mono implementation has the same requirements as the original C implementation.
From the documentation of
CGGradientCreateWithColors(colorSpace, colors, locations[])
(that should correspond tonew CGGradient(colorSpace,colors,locations);
in Mono) you can readIn your code however you are passing two colors but four locations.
Since you are saying "dividing equally in the line" you should probably repeat both colors twice.