HarmonyOS 如何根据圆心坐标画实心圆

目前计算出了圆心的坐标集合如下:

@State centersX:Array<number> = [] //存放的为圆的X坐标集合   
@State centersY:Array<number> = [] // 存放的为圆的Y坐标集合 
  • 1.
  • 2.

centersX 的值为:21 、31、 41 、51 、61 、71 、82 、92、102。

centersY 的值为:43 、43 、 43 、 126 、126 、126 、126 、15 126。

请根据centersX和centersY的值在Column布局中画出8个半径为2VP的圆。

HarmonyOS
2024-12-25 08:37:47
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

根据坐标绘制实心圆,可以使用arc接口,并使用fill进行填充颜色,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-canvasrenderingcontext2d-V5#arc

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-canvasrenderingcontext2d-V5#fill

参考demo:

@Entry
@Component
struct Arc {
  private settings: RenderingContextSettings = new RenderingContextSettings(true)
  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
  @State centersX:Array<number> = [21,31,41,51,61,71,82,92,102] //存放的为圆的X坐标集合
  @State centersY:Array<number> = [43,43,43,126,126,126,126,15,126] // 存放的为圆的Y坐标集合

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Canvas(this.context)
        .width('100%')
        .height('100%')
        .backgroundColor('#ffff00')
        .onReady(() =>{
          this.centersX.forEach((value,index) => {
            this.context.beginPath()
            this.context.strokeStyle = '#00ff00'
            this.context.fillStyle = '#00ff00'
            this.context.moveTo(this.centersX[index], this.centersY[index])
            this.context.arc(this.centersX[index], this.centersY[index], 3, 0, 7)
            this.context.fill()
            this.context.stroke()
          })
        })
    }
    .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.
分享
微博
QQ
微信
回复
2024-12-25 10:19:40
相关问题
HarmonyOS 根据圆心坐标绘制问题
616浏览 • 1回复 待解决
HarmonyOS drawCircle空心实心
535浏览 • 1回复 待解决
HarmonyOS 如何根据圆心坐标连接曲线
541浏览 • 1回复 待解决
HarmonyOS 如何使用Canvas扇形
1012浏览 • 1回复 待解决
HarmonyOS 如何获取,某组件的坐标
836浏览 • 1回复 待解决
HarmonyOS 如何获取应用窗口坐标
503浏览 • 1回复 待解决
HarmonyOS 画中
524浏览 • 1回复 待解决
HarmonyOS 获取控件坐标
697浏览 • 1回复 待解决
HarmonyOS 画中视频无法播放
725浏览 • 1回复 待解决
HarmonyOS 画中无法指定窗体大小
643浏览 • 1回复 待解决
HarmonyOS如何根据条件加载页面
904浏览 • 1回复 待解决
HarmonyOS 获取组件坐标的方法
982浏览 • 1回复 待解决
如何在鸿蒙移动端引入坐标图?
2521浏览 • 1回复 待解决