【问题标题】:How to blur edges of lines using CGContext如何使用 CGContext 模糊线条的边缘
【发布时间】:2012-07-26 02:20:10
【问题描述】:

我正在使用 CGContext 绘制线条,但我想让它的边缘模糊。我检查了阴影,但在阴影中,线条的边缘并不柔软和光滑。请告诉我如何使线条边缘模糊。

这是code link

【问题讨论】:

    标签: iphone ios xcode ipad


    【解决方案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 的全部内容,尽管我猜子视图方法可以替代图像
    猜你喜欢
    • 2015-02-24
    • 2016-08-26
    • 1970-01-01
    • 2021-03-02
    • 2016-10-07
    • 2011-03-17
    • 2021-04-02
    • 1970-01-01
    • 2012-08-26
    相关资源
    最近更新 更多