相关问题
HarmonyOS 使用画布 (Canvas)绘制自定义时间轴,放缩重绘闪烁跳动,导致放缩时间轴功能难以使用
393浏览 • 1回复 待解决
HarmonyOS 组件通过scale进行缩放时的问题
359浏览 • 1回复 待解决
画布绘制文字,垂直居中
245浏览 • 1回复 待解决
HarmonyOS 画布问题咨询
169浏览 • 1回复 待解决
动态缩放XComponent大小和视频播放时的性能对比
1858浏览 • 1回复 待解决
画布上绘制图片如何实现?
247浏览 • 1回复 待解决
HarmonyOS 绘制组件和画布组件选择问题
316浏览 • 1回复 待解决
Image组件加载的图片,如何缓解图片在缩放时的锯齿问题
1978浏览 • 1回复 待解决
如何在使用 Canvas 绘制图像时处理像素模糊问题?
28浏览 • 0回复 待解决
WebView支持页面缩放吗?
842浏览 • 1回复 待解决
使用canvas渲染文本时,如何基于文本变化,正确绘制出对应的内容?
1698浏览 • 1回复 待解决
Swiper 组件嵌套图片刷新数据会闪烁
1104浏览 • 1回复 待解决
ijkplayer结合XComponent组件播放视频时根据视频尺寸和组件尺寸设置视频缩放模式
1881浏览 • 0回复 待解决
Web组件如何开启手势缩放
1564浏览 • 1回复 待解决
HarmonyOS 阅读器中图片组件来回翻页闪烁
263浏览 • 1回复 待解决
HarmonyOS 启动页播放视频会有一个闪烁
194浏览 • 1回复 待解决
HarmonyOS如何实现动态缩放动画
432浏览 • 1回复 待解决
自适应缩放布局如何实现
370浏览 • 1回复 待解决
HarmonyOS Web组件内容缩放问题
206浏览 • 1回复 待解决
Device Tool 点击"Monitor"按钮时失败,怎么解决?
6430浏览 • 1回复 待解决
在编译时固件时出现的问题,是什么原因,怎么解决?
8436浏览 • 3回复 已解决
编译ipcamera_hispark_taurus时出错,求解决
6920浏览 • 1回复 已解决
HarmonyOS如何实现相机(并且支持手势)缩放,系统自带的相机缩放组件是否有开源?
307浏览 • 1回复 待解决
Device Tool点击"Upload"按钮时进行烧录时,出现以下错误,怎么解决?
7918浏览 • 1回复 待解决
使用的核心API
手势事件以及Canvas画布
问题的描述与解释
Canvas画布缩放时已有的绘画路径会闪烁或移动
点击标注进入页面,使用任意一种画笔绘制后,缩放页面,会出现绘制线条闪动的问题
闪烁或移动的原因:
在更新绘制的图案的时候采用的是延迟操作,所以会有闪烁
解决的思路以及核心代码解释
1. 要实现的效果: 绘制的图形要随着捏合的手势进行缩放
2. 遇到问题: Canvas 设计的是,Canvas组件发生大小变化,画布的内容将会被清空,导致之前的绘制的内容被清除,需要根据新的比例重新绘制图形,捏合手势持续回调,会大量的调用重绘代码。 这个就造成了卡顿
3. 解决思路: 在 Canvas 设计不变的情况下,唯一能做的就是 减少重绘代码调用平次。 设计一系列条件点,只有满足该系列条件,才能触发回调重绘,条件设置的越紧,调用的就相对越少,性能就越优越,但是在超过一定条件,肉眼就可以识别出
4. 具体实现:
// 解决问题的思路: 也是尽可能的减少捏合手势持续调用绘制内容。 简单的设置一个临界点,在手势捏合持续回调中,只有满足一定条件才重新绘制// 目前测试不会卡顿以及闪烁,这个临界值以及以什么为参照,开发者可以以最合理的方式处理// 通过捏合比例大于某个值得时候才重新绘制
注明适配的版本信息
IDE版本:4.1.3.500
SDK版本:OpenHarmony 4.1.0(11)