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
2024-12-26 16:25:30
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

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

分享
微博
QQ
微信
回复
2024-12-26 17:58:05
相关问题
如何设置边框颜色为渐变色
855浏览 • 1回复 待解决
HarmonyOS Canvas设置渐变色没有效果
464浏览 • 1回复 待解决
HarmonyOS linearGradient渐变色问题
259浏览 • 1回复 待解决
组件如何实现渐变色
2294浏览 • 1回复 待解决
HarmonyOS 文本渐变色怎么处理
359浏览 • 1回复 待解决
HarmonyOS 字体怎么实现渐变色
253浏览 • 1回复 待解决
HarmonyOS 组件背景是否支持渐变色
630浏览 • 1回复 待解决
HarmonyOS 如何实现文字渐变色效果
524浏览 • 1回复 待解决
HarmonyOS 环状渐变色进度条
458浏览 • 1回复 待解决
Rect组件支持渐变色填充吗?
603浏览 • 1回复 待解决
HarmonyOS 设置icon和label生效
693浏览 • 1回复 待解决
greenplumshared_buffers参数设置
4650浏览 • 1回复 待解决
Progress进度条如何实现渐变色
1415浏览 • 1回复 待解决