HarmonyOS Canvas绘制贝塞尔曲线,如何填充内部颜色

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

图形绘制完毕添加 this.context.fill() 即可填充颜色,可参考如下demo:

@Entry
@Component
struct BezierCurveTo {
  private settings: RenderingContextSettings = new RenderingContextSettings(true)
  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Canvas(this.context)
        .backgroundColor('#ffff00')
        .width('100%')
        .height('100%')
        .onReady(() => {
          this.context.strokeStyle = "#333"
          this.context.fillStyle = '#ffe514d0'
          this.context.lineWidth = 2
          this.context.beginPath()
          this.context.moveTo(30, 30)
          this.context.lineTo(30, 150)
          this.context.lineTo(100, 150)
          this.context.lineTo(100, 80)
          this.context.bezierCurveTo(75, 20, 75, 20, 30, 30)
          this.context.stroke()

          this.context.fill()
          this.context.beginPath()
          this.context.moveTo(100, 80)
          this.context.lineTo(100, 150)
          this.context.lineTo(150, 150)
          this.context.lineTo(150, 120)
          this.context.bezierCurveTo(130, 90, 160, 30, 100, 80)
          this.context.stroke()
          this.context.fillStyle = '#ff1f7fe5'
          this.context.fill()
        })
    }
    .width('100%')
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 曲线绘制
29浏览 • 1回复 待解决
有没有实现曲线的相关库?
192浏览 • 1回复 待解决
HarmonyOS Canvas绘制曲线相关
27浏览 • 1回复 待解决
HarmonyOS Image组件如何设置填充颜色
28浏览 • 1回复 待解决
如何操作canvas重新绘制
1117浏览 • 1回复 待解决
HarmonyOS Canvas绘制内容如何更新
53浏览 • 1回复 待解决
HarmonyOS 如何使用canvas绘制虚线
55浏览 • 1回复 待解决
HarmonyOS Canvas绘制圆角
26浏览 • 1回复 待解决
Canvas绘制内容如何动态更新
1695浏览 • 1回复 待解决
如何使用canvas绘制圆角矩形
573浏览 • 1回复 待解决
HarmonyOS Canvas绘制圆角矩形
33浏览 • 1回复 待解决
HarmonyOS 如何Canvas中直接绘制SVG?
37浏览 • 1回复 待解决
Canvas如何触发刷新重复绘制
993浏览 • 1回复 待解决
HarmonyOS 如何清空canvas绘制的内容
55浏览 • 1回复 待解决