如何使用 CGContext 模糊线条的边缘
Posted
技术标签:
【中文标题】如何使用 CGContext 模糊线条的边缘【英文标题】:How to blur edges of lines using CGContext 【发布时间】:2012-07-26 02:20:10 【问题描述】:我正在使用 CGContext 绘制线条,但我想让它的边缘模糊。我检查了阴影,但在阴影中,线条的边缘并不柔软和光滑。请告诉我如何使线条边缘模糊。
这是code link
【问题讨论】:
【参考方案1】:我不完全确定你所说的模糊线条的“边缘”是什么意思,但你可以尝试先用更大的线宽绘制相同的路径,然后用逐渐变细和变暗的线来绘制路径。
【讨论】:
请详细告诉我如何做到这一点? 一旦你在你的上下文中创建了某种路径,来绘制你调用 CGContextStrokePath 的路径。在此之前,您可以使用 CGContextSetRGBStrokeColor 和 CGContextSetLineWidth 设置绘制的线宽和颜色。举个简单的例子,你可以画线 3 次,首先用 10 像素的线宽和某种浅灰色的颜色,然后用 5 像素的宽度和更深的灰色,然后用 2 的宽度像素和纯黑色。 我不确定你的意思。这种方法的要点是一种临时的方法,以绘制的线为中心进行渐变。更粗和更褪色的线条的渐进层实际上是“渐变”,使您不必勾勒整个路径并使用 CGGradients 绘制真正的渐变。【参考方案2】:绘制线的其他方式..我希望这有助于绘制线并增加线宽...
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
//// DRAW LINE....
UIView *lineView = [[[UIView alloc] initWithFrame:CGRectMake(10, 30, cell.contentView.bounds.size.width, 3)] autorelease];
//Replece the 3 and put the 5 for Increse the line Width
lineView.backgroundColor = [UIColor redColor];
lineView.autoresizingMask = 0x5f;
[cell.contentView addSubview:lineView];
【讨论】:
这与问题无关。这段代码添加了一个狭窄的子视图来呈现一条直线,问题是关于绘制路径。 同意 CGContext 的全部内容,尽管我猜子视图方法可以替代图像以上是关于如何使用 CGContext 模糊线条的边缘的主要内容,如果未能解决你的问题,请参考以下文章
Seaborn violinplots:如何获得小提琴边缘的线条路径?