本文原创发布在华为开发者社区。
介绍
本示例基于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
})
)
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。