Text怎么设置文本渐变?

.linearGradient({  
  direction: GradientDirection.Right,  
  colors: [[0xcaddf3,1.0],[0xffffff,1.0],[0xbabfd5,1.0]]  
})

可以设置背景色渐变,怎么设置文字渐变色?

HarmonyOS
2024-10-11 10:31:21
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以参考使用canvas画布CanvasRenderingContext2D的fillstyle属性支持渐变色。示例代码如下:

@Entry  
@Component  
struct Index {  
  @State message: string = 'Hello World'  
  private settings: RenderingContextSettings = new RenderingContextSettings(true)  
  private context: CanvasRenderingContext2D= new CanvasRenderingContext2D(this.settings)  
  
  build() {  
    Row() {  
      Column() {  
        Text(this.message)  
          .fontSize(50)  
          .fontWeight(FontWeight.Bold)  
          .linearGradient({  
            direction: GradientDirection.Left, // 渐变方向  
            colors: [[0xf88b57, 0.0], [0xaee4a0, 0.4], [0xc4d1ec, 0.7], [0xc08dcc, 0.9]] // 数组末尾元素占比小于1时满足重复着色效果  
          })  
        Canvas(this.context)  
          .onReady(() =>{  
            //绘制填充类文本  
            var grad = this.context.createLinearGradient(50,0, 300,100)  
            grad.addColorStop(0.0, '#f88b57')  
            grad.addColorStop(0.4, '#aee4a0')  
            grad.addColorStop(0.7, '#c4d1ec')  
            grad.addColorStop(0.9, '#c08dcc')  
            this.context.fillStyle = grad  
            this.context.font = '147px sans-serif';  
            this.context.fillText("Hello World!", 45, 100);  
          })  
      }  
      .width('100%')  
    }  
    .height('100%')  
  }  
}
分享
微博
QQ
微信
回复
2024-10-11 16:40:12
相关问题
HarmonyOS 文本渐变怎么处理
54浏览 • 1回复 待解决
Text怎么显示带html标签的文本
4382浏览 • 1回复 待解决
Text文本不垂直居中,该怎么处理呢?
3159浏览 • 1回复 待解决
Text怎么解析展示带html标签的文本
2153浏览 • 1回复 待解决
HarmonyOS 怎么设置带圆角的渐变边框
36浏览 • 1回复 待解决
怎么text文本排在image里面的右下角
707浏览 • 1回复 待解决
ArkTS实现Text文本的【...展开】
1787浏览 • 2回复 待解决
获取文本Text组件的宽度
508浏览 • 1回复 待解决
Rect设置渐变显示异常
297浏览 • 0回复 待解决
HarmonyOS Text获取文本显示的行数
55浏览 • 1回复 待解决
Text文本过长时如何实现上下滚动?
656浏览 • 1回复 待解决