实现图片添加贴纸鸿蒙示例代码

鸿蒙场景化示例代码技术工程师
发布于 2025-3-6 11:25
浏览
0收藏

本文原创发布在华为开发者社区

介绍

本示例基于PanGesture(手势处理)实现了图片添加贴图,并通过手势更新贴图位置的功能。

实现图片贴纸源码链接

效果预览

实现图片添加贴纸鸿蒙示例代码-鸿蒙开发者社区

使用说明

进入应用会立马出现图片,屏幕下为提供的贴图。
点击贴图,贴图添加到图片中,可点击贴图移动位置。

实现思路

贴图组件
贴图展示,通过手势更新图片位置。核心代码如下:

build() {
  Column() {
    Image(this.item.img).objectFit(ImageFit.None)
  }
  .width('200vp')
    .height('200vp')
    .border({ width: '1vp', color: 'black' })
    .translate({ x: this.offsetX, y: this.offsetY, z: 0 })
    .gesture(
      PanGesture()
        .onActionStart((event: GestureEvent | undefined) => {
          console.info('Pan start');
        })
        .onActionUpdate((event: GestureEvent | undefined) => {
          if (event) {
            this.offsetX = this.item.positionX + event.offsetX;
            this.offsetY = this.item.positionY + event.offsetY;
            console.info(`move:${event.offsetX}---${event.offsetY}`)
          }
        })
        .onActionEnd(() => {
          this.item.positionX = this.offsetX
          this.item.positionY = this.offsetY
        })
    )
}

  • 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.

分类
收藏
回复
举报
回复
    相关推荐