【发布时间】:2015-12-17 04:59:06
【问题描述】:
我使用CGContext 在iOS 中绘制虚线。
我的代码如下。
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGFloat dashes[] = {5,5};
CGContextSetLineDash(context, 0, dashes, 2);
float startx = x_percentileValues[0];
float starty = orgy-numskipPixels_v*(3-minWeight);
for(int i=0; i<[MeasuredInfos.retval count]; i++) {
float x = numskipPixels_h*hoursBetweenDates*3+orgx;
float y = orgy-([[MeasuredInfos.retval objectAtIndex: i] getWeight] - minWeight)*numskipPixels_v;
CGContextMoveToPoint(context, startx, starty);
CGContextAddLineToPoint(context, x, y);
CGContextStrokePath(context);
startx = x;
starty = y;
}
如果线的坡度很陡,那很好。如果不陡,则虚线有问题,如附图所示。
我签入了这个link,没有太多关于CGContextSetLineDash 的讨论。
【问题讨论】:
-
您能描述一下您看到的问题吗?每张图片都有两组虚线,我不清楚你指的是哪一组。另外,虚线看起来不对怎么办?
-
@DougRichardson 你不认为这是问题所在吗? “线的斜率大就好了,不陡就是虚线有问题,见附图。”
-
我没有说我不认为这是一个问题,我只是不明白你在说什么问题。我看到的唯一可能的问题是陡峭的粗虚线在靠近恒星的右侧有一条额外的细线,但你说陡峭的线看起来很好,所以这不是你正在谈论的问题。我看不出扁平粗线有什么问题,这就是你说的问题所在。究竟是什么问题?
-
@DougRichardson 当然,粗线是问题所在。
-
好的,所以要清楚一点:顶部图像(带有陡峭粗线的图像)是有问题的图像。那个问题是右手边最后的细线?如果是这样,您应该改写您的问题,因为在其中您说“如果线的斜率很陡,那很好”,但问题是如果线的斜率很陡,那就不好了。
标签: ios cgcontext cgcontextref cgcontextdrawpath