Swift-如何创建非像素化的径向渐变?

孵化大师J

我正在尝试为我的应用程序创建一个径向/圆形渐变。

在这里使用了类似于已确认答案的解决方案

但是,所得的梯度看起来像是像素化的。

我究竟做错了什么?是否有更现代的方法或好的第三方框架来创建平滑,简单的径向渐变?

谢谢!

我的代码(基于Stack Overflow上发布的代码段):

class RadialGradientLayer: CALayer {

    init(innerColor: UIColor, outerColor: UIColor) {
        self.innerColor = innerColor.CGColor
        self.outerColor = outerColor.CGColor

        super.init()

        needsDisplayOnBoundsChange = true
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("This class does not support NSCoding")
    }

    var innerColor: CGColor
    var outerColor: CGColor

    override func drawInContext(ctx: CGContext) {
        CGContextSaveGState(ctx)

        let colorSpace = CGColorSpaceCreateDeviceRGB()

        let locations:[CGFloat] = [0.0, 1.0]
        let colors = [innerColor, outerColor]

        let gradient = CGGradientCreateWithColors(colorSpace, colors, locations)

        let center = CGPoint(x: bounds.width / 2.0, y: bounds.height / 2.0)
        let radius = min(bounds.width / 2.0, bounds.height / 2.0)

        CGContextDrawRadialGradient(ctx, gradient, center, 0.0, center, radius, CGGradientDrawingOptions(rawValue: 0))
    }

}
RichAppz

您需要确保CGContext针对设备屏幕缩放了。

看看这个问题的答案-CGContext和视网膜显示

这将帮助您解决问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建 Canvas 径向(非从内到外)渐变

来自分类Dev

如何在边界中创建径向渐变?

来自分类Dev

如何使用python创建透明的径向渐变?

来自分类Dev

如何倾斜没有伪像的基于像素的径向渐变?

来自分类Dev

Swift - 按下时为按钮创建径向线

来自分类Dev

JavaFX创建透明的径向渐变

来自分类Dev

如何在swift中渐变tableview的背景

来自分类Dev

如何制作垂直的径向渐变

来自分类Dev

Swift中的像素选取

来自分类Dev

Swift中的像素选取

来自分类Dev

Swift中的像素选取

来自分类Dev

Swift中的像素选取

来自分类Dev

使用Swift从数据数组逐像素创建图像

来自分类Dev

Swift:如何从Swift调用CCKeyDerivationPBKDF

来自分类Dev

Swift:如何创建滚动按钮?

来自分类Dev

如何创建弧形iOS Swift

来自分类Dev

如何创建波浪路径Swift

来自分类Dev

Swift:如何创建滚动按钮?

来自分类Dev

如何在CALayer中绘制径向渐变?

来自分类Dev

如何避免在径向渐变中使用“ at”?

来自分类Dev

如何使用Swift以编程方式渐变边框颜色UIButton

来自分类Dev

如何在Swift iOS中实现iMessage渐变?

来自分类Dev

如何使用 Swift 渐变填充自定义 UIView?

来自分类Dev

如何使用 swift 在 iOS 中的图像上实现黑色渐变

来自分类Dev

iOS-绘制渐变-Swift

来自分类Dev

iOS图表的Swift渐变填充

来自分类Dev

Swift中的圆形渐变按钮

来自分类Dev

在Swift中点获取像素颜色

来自分类Dev

如何在Swift中获取UIImage中像素的颜色?