HarmonyOS Canvas如何重置clip
主要代码如下,通过点击事件切换pathType,
1. 初始化运行得到图1,这里是正确的。
2. 点击一下pathType设置为false,得到图2,这里也是正确的。
3. 再次点击pathType设置为true,得到图3,是错误的。正确的应该是和图一一样的。if else里面的clip(path1)同时生效小了。
请问如果才能重置clip,使得if else 里面的path只能生效一个?
if (this.pathType) {
let path1 = new Path2D()
path1.moveTo(0, 0)
path1.lineTo(this.context.width, 0)
path1.lineTo(this.context.width * 0.5, this.context.height)
path1.lineTo(0, this.context.height)
path1.closePath()
this.context.clip(path1)
} else {
let path1 = new Path2D()
path1.moveTo(0, 0)
path1.lineTo(this.context.width * 0.5, 0)
path1.lineTo(this.context.width, this.context.height)
path1.lineTo(0, this.context.height)
path1.closePath()
this.context.clip(path1)
}
图一:
图二:
图三:
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS Canvas Path2D带transform地addPath,再clip会显示异常
334浏览 • 1回复 待解决
HarmonyOS 父组件的clip属性支持分别clip上、下、左、右吗?
493浏览 • 1回复 待解决
HarmonyOS .clip矩形裁切无法生效
346浏览 • 1回复 待解决
HarmonyOS如何手动重置自定义组件?
379浏览 • 1回复 待解决
HarmonyOS clip如何裁剪顶部和左侧的image内容
36浏览 • 1回复 待解决
HarmonyOS 订阅subGroupGenerationId重置相关
37浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现手写撤销和重置功能
133浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS Next应用中如何重置文件拷贝进度?
117浏览 • 1回复 待解决
HarmonyOS Canvas如何触发重绘
36浏览 • 1回复 待解决
HarmonyOS 应用沙箱存储数据重置问题咨询
62浏览 • 1回复 待解决
组件的通用属性clip有什么作用?
560浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中实现手写撤销和重置功能?
95浏览 • 1回复 待解决
HarmonyOS Canvas 实现动画
44浏览 • 1回复 待解决
HarmonyOS Canvas怎么刷新
44浏览 • 1回复 待解决
canvas如何实现水印效果
952浏览 • 1回复 待解决
如何操作canvas重新绘制
1104浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙开发中如何设置List组件的clip属性
85浏览 • 2回复 待解决
#鸿蒙通关秘籍#鸿蒙应用如何通过Row和Clip实现动态布局?
100浏览 • 1回复 待解决
鸿蒙 | listcontainer滚动时如何防止子view位置被重置
4993浏览 • 1回复 待解决
HarmonyOS Canvas中如何绘制文本溢出效果?
314浏览 • 1回复 待解决
HarmonyOS使用canvas如何使文字垂直居中
664浏览 • 1回复 待解决
HarmonyOS Canvas 画文字如何实现字体加粗
657浏览 • 1回复 待解决
HarmonyOS 如何实现清除canvas内容,重新绘制?
438浏览 • 1回复 待解决
如何使用canvas绘制圆角矩形
551浏览 • 1回复 待解决
如何使用canvas添加水印
1335浏览 • 1回复 待解决
可以这么写:
需要把:
替换为: