相关问题
动态缩放XComponent大小和视频播放时的性能对比
641浏览 • 1回复 待解决
Image组件加载的图片,如何缓解图片在缩放时的锯齿问题
615浏览 • 1回复 待解决
Swiper 组件嵌套图片刷新数据会闪烁
287浏览 • 1回复 待解决
鸿蒙Drawing API的缩放怎么使用
308浏览 • 1回复 待解决
WebView支持页面缩放吗?
435浏览 • 1回复 待解决
ijkplayer结合XComponent组件播放视频时根据视频尺寸和组件尺寸设置视频缩放模式
583浏览 • 0回复 待解决
使用canvas渲染文本时,如何基于文本变化,正确绘制出对应的内容?
546浏览 • 1回复 待解决
编译ipcamera_hispark_taurus时出错,求解决
5615浏览 • 1回复 已解决
Web组件如何开启手势缩放
452浏览 • 1回复 待解决
Device Tool 点击"Monitor"按钮时失败,怎么解决?
4602浏览 • 1回复 待解决
在编译时固件时出现的问题,是什么原因,怎么解决?
7163浏览 • 3回复 已解决
如何通过定时器和画布实现一个时钟
373浏览 • 1回复 待解决
Device Tool 点击"Configure bootloader"按钮时失败,怎么解决?
4125浏览 • 1回复 待解决
canvas 貌似不识别啊?
5153浏览 • 1回复 待解决
The <canvas> component does not exist.
6944浏览 • 3回复 待解决
如何操作canvas重新绘制
355浏览 • 1回复 待解决
canvas如何实现水印效果
371浏览 • 1回复 待解决
Device Tool点击"Upload"按钮时进行烧录时,出现以下错误,怎么解决?
6300浏览 • 1回复 待解决
Tabbar图标如何实现PageSlider的滑动渐变缩放效果吗
5212浏览 • 1回复 待解决
canvas在api5手机不显示,api6手机正常,这怎么解决?
1674浏览 • 1回复 待解决
Canvas绘制内容如何动态更新
368浏览 • 1回复 待解决
实现类似人脸认证时中间镂空,四周颜色变换闪烁的效果
359浏览 • 1回复 待解决
图片pixelMap传到native层,进行旋转、缩放
330浏览 • 0回复 待解决
List滚动条时长时短,求解决方案?
544浏览 • 1回复 待解决
如何解决windows系统使用IDE时SDK卸载失败
1636浏览 • 1回复 待解决
使用的核心API
手势事件以及Canvas画布
问题的描述与解释
Canvas画布缩放时已有的绘画路径会闪烁或移动
点击标注进入页面,使用任意一种画笔绘制后,缩放页面,会出现绘制线条闪动的问题
闪烁或移动的原因:
在更新绘制的图案的时候采用的是延迟操作,所以会有闪烁
解决的思路以及核心代码解释
1. 要实现的效果: 绘制的图形要随着捏合的手势进行缩放
2. 遇到问题: Canvas 设计的是,Canvas组件发生大小变化,画布的内容将会被清空,导致之前的绘制的内容被清除,需要根据新的比例重新绘制图形,捏合手势持续回调,会大量的调用重绘代码。 这个就造成了卡顿
3. 解决思路: 在 Canvas 设计不变的情况下,唯一能做的就是 减少重绘代码调用平次。 设计一系列条件点,只有满足该系列条件,才能触发回调重绘,条件设置的越紧,调用的就相对越少,性能就越优越,但是在超过一定条件,肉眼就可以识别出
4. 具体实现:
// 解决问题的思路: 也是尽可能的减少捏合手势持续调用绘制内容。 简单的设置一个临界点,在手势捏合持续回调中,只有满足一定条件才重新绘制// 目前测试不会卡顿以及闪烁,这个临界值以及以什么为参照,开发者可以以最合理的方式处理// 通过捏合比例大于某个值得时候才重新绘制
注明适配的版本信息
IDE版本:4.1.3.500
SDK版本:OpenHarmony 4.1.0(11)