HarmonyOS canvas.drawCircle方法画出的圆形位置偏移

Polyline({ width: 260, height: 260 })
  .points([[187.2, 177.6], [76.5, 177.6], [198, 152.1], [66.6, 160.5]])
  .fillOpacity(0)
  .stroke(Color.White)
  .strokeWidth(3)

Canvas(this.context)
  .width(260)
  .height(260)
  .onReady(() => {
    this.context.canvas.drawCircle(187.2, 177.6, 20)
    this.context.canvas.drawCircle(76.5, 177.6, 20)
    this.context.canvas.drawCircle(198, 152.1, 20)
    this.context.canvas.drawCircle(66.6, 160.5, 20)
    this.context.invalidate()
  })

红色字是Polyline是正确的,如何根据xy坐标在Polyline四个位置画四个圆形?

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

需要统一以下单位,demo如下:

@Entry
@Component
struct Index {
  private context: DrawingRenderingContext = new DrawingRenderingContext()

  build() {
    Stack() {
      Polyline({ width: '260px', height: '260px'})
        .points([['187.2px', '177.6px'], ['76.5px', '177.6px'], ['198px', '152.1px'], ['66.6px', '160.5px']])
        .fillOpacity(0)
        .stroke(Color.Black)
        .strokeWidth(3)

      Canvas(this.context)
        .width('260px')
        .height('260px')
        .onReady(() => {
          this.context.canvas.drawCircle(187.2, 177.6, 20)
          this.context.canvas.drawCircle(76.5, 177.6, 20)
          this.context.canvas.drawCircle(198, 152.1, 20)
          this.context.canvas.drawCircle(66.6, 160.5, 20)
          this.context.invalidate()
        })
    }
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
有没有给canvas设置ColorFilter方法
692浏览 • 1回复 待解决
HarmonyOS drawCircle画空心圆和实心圆
33浏览 • 1回复 待解决
HarmonyOS 怎么设置圆形边框
35浏览 • 1回复 待解决
HarmonyOS 如何较好实现圆形头像
90浏览 • 1回复 待解决
HarmonyOS 如何设置图片为圆形
24浏览 • 1回复 待解决
HarmonyOS svg、canvas 使用详情
503浏览 • 1回复 待解决
HarmonyOS image如何把图片裁剪成圆形
66浏览 • 1回复 待解决