macos - 绘制具有渐变颜色的字符串

标签 macos core-graphics gradient nsattributedstring

有没有办法在 NSView 中用渐变颜色绘制字符串?渐变不是背景,而是字母本身。也许一些面具,或者什么?

(其实不是文字,而是图标字体)

最佳答案

override func draw(_ rect: CGRect) {

    //Add gradient layer
    let gl = CAGradientLayer()
    gl.frame = rect
    gl.endPoint = CGPoint(x: 0, y: 0)
    gl.colors = [UIColor.red.cgColor, UIColor.blue.cgColor]
    layer.addSublayer(gl)

    //create a text layer mask
    let tl = CATextLayer()
    tl.frame = rect
    tl.string = "My String in Gradient"

    //Add mask to gradient layer
    gl.mask = tl

}

The picture shows a text with gradient

希望这对您有所帮助!

关于macos - 绘制具有渐变颜色的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13031099/

相关文章:

swift - 如何在不改变位置的情况下改变窗框大小

mysql - 在 OS X 上设置 MySQL root 用户密码

ios - 如何使用 Objective-C iOS 创建菱形按钮

java - JToolBar 的渐变背景

python - 如何使一个图像的渐变外观与另一个图像相同?

macos - 在 Mac 上使用 Python 打印到 USB 打印机

ruby - OSX Lion 上的默认 Ruby 版本?还是 1.8.x 或 1.9.x?

objective-c - iOS:持续更新路径的 CGContextStrokePath

cocoa - 使用核心图形绘制文本

swift - 如何在 ios-Charts 中将渐变应用于条形图中的条形图