HarmonyOS CanvasGradient四个参数设置渐变色的规则是什么,设置了不生效

CanvasGradient四个参数设置渐变色的规则是什么,设置了不是很明显。

private drawArea(): void {
    this.context.restore();
    this.context.beginPath();
    let path = new Path2D("M10 165 L10 47 L12.5 46 L14.5 46.5 L16.5 47.5 L18.5 46 L20.5 46 L22.5 46 L24.5 46 L26.5 45.5 L28.5 45.5 L30.5 44.5 L32.5 44 L34.5 45 L36.5 43.5 L38.5 43.5 L40.5 43.5 L42.5 43.5 L44.5 43.5 L46.5 43 L48.5 43 L50.5 43 L52.5 41.5 L54.5 40.5 L56.5 39 L58.5 36.5 L60.5 31.5 L62.5 35 L64.5 35.5 L66.5 35 L68.5 35 L70.5 34 L72.5 33 L74.5 32.5 L76.5 31.5 L78.5 31.5 L80.5 31 L83 29.5 L85 30 L87 31.5 L89 31 L91 29.5 L93 28.5 L95 32.5 L97 35 L99 37.5 L101 39 L103 40.5 L105 39 L107 41 L109 44.5 L111 44 L113 45 L115 43.5 L117 43.5 L119 43.5 L121 43.5 L123 43.5 L123 165 Z");
    let path2d = new Path2D();
    path2d.addPath(path)
    this.context.fillStyle = this.buildStrokeStyle();
    this.context.fill(path2d, 'evenodd')
  }
  private buildStrokeStyle(): CanvasGradient | string {
    let grad = this.context.createLinearGradient(10,47,10,80);
    grad.addColorStop(0, '#bce02e51');
    grad.addColorStop(1, '#b2e9d0d6');
    return grad;
  }
HarmonyOS
16h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

Path2D()参数字符串是以px为单位的,createLinearGradient()参数是以vp为单位的,注意下单位。

分享
微博
QQ
微信
回复
14h前
相关问题
如何设置边框颜色为渐变色
541浏览 • 1回复 待解决
HarmonyOS Canvas设置渐变色没有效果
67浏览 • 1回复 待解决
组件如何实现渐变色
2088浏览 • 1回复 待解决
HarmonyOS 字体怎么实现渐变色
24浏览 • 1回复 待解决
HarmonyOS 文本渐变色怎么处理
68浏览 • 1回复 待解决
greenplumshared_buffers参数设置
4444浏览 • 1回复 待解决
HarmonyOS 环状渐变色进度条
44浏览 • 1回复 待解决
HarmonyOS 组件背景是否支持渐变色
275浏览 • 1回复 待解决
HarmonyOS 如何实现文字渐变色效果
67浏览 • 1回复 待解决
Rect组件支持渐变色填充吗?
309浏览 • 1回复 待解决
HarmonyOS 设置icon和label生效
358浏览 • 1回复 待解决
Progress进度条如何实现渐变色
863浏览 • 1回复 待解决