HarmonyOS canvas Path 椭圆无法闭合路径

非椭圆路径

const path=new Path2D()
path.rect(80, 80, 50, 50)
path.arc(150, 150, 50, 0, 2 * Math.PI, false)
path.rect(0, 0, 50, 50)
this.context.fillStyle = 'red'
this.context.fill(path)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

椭圆路径

const path=new Path2D()
path.rect(80, 80, 50, 50)
path.ellipse(200, 200, 50, 100, 0, Math.PI * 1, Math.PI*2)
path.rect(0, 0, 50, 50)
this.context.fillStyle = 'red'
this.context.fill(path)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

详情请看图片

HarmonyOS canvas Path 椭圆无法闭合路径 -鸿蒙开发者社区

HarmonyOS canvas Path 椭圆无法闭合路径 -鸿蒙开发者社区

HarmonyOS
2025-01-09 15:12:11
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

示例参考如下:

react绘制完成后,执行path2Db.moveTo(xxx,xxx)

如:

// xxx.ets
@Entry
@Component
struct Index {
  private settings: RenderingContextSettings = new RenderingContextSettings(true)
  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
  private path2Db: Path2D = new Path2D()

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Canvas(this.context)
        .width('100%')
        .height('100%')
        .backgroundColor('#ffff00')
        .onReady(() =>{
          this.path2Db.rect(20, 20, 100, 100);
          this.context.stroke(this.path2Db)

          this.path2Db.moveTo(200, 200)
          this.path2Db.ellipse(200, 200, 50, 100, 0, Math.PI * 1, Math.PI * 3)
          this.context.stroke(this.path2Db)

          this.path2Db.moveTo(0, 0)
          this.path2Db.rect(0, 0, 50, 50)
          this.context.stroke(this.path2Db)
        })
    }
    .width('100%')
    .height('100%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
分享
微博
QQ
微信
回复
2025-01-09 16:43:47
相关问题
HarmonyOS webview无法加载file协议路径
491浏览 • 1回复 待解决
HarmonyOS 应用沙盒路径视频无法播放
1050浏览 • 1回复 待解决
HarmonyOS Path 是否支持矩阵变换
373浏览 • 1回复 待解决
HarmonyOS 下载报错Download File Path Valid
1776浏览 • 1回复 待解决
HarmonyOS window.setUIContent 参数path问题
510浏览 • 1回复 待解决
HarmonyOS Canvas怎么刷新
576浏览 • 1回复 待解决
HarmonyOS Canvas 实现动画
953浏览 • 1回复 待解决
HarmonyOS canvas画图问题
545浏览 • 1回复 待解决