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会显示异常
954浏览 • 1回复 待解决
HarmonyOS 父组件的clip属性支持分别clip上、下、左、右吗?
1179浏览 • 1回复 待解决
HarmonyOS .clip矩形裁切无法生效
987浏览 • 1回复 待解决
HarmonyOS 订阅subGroupGenerationId重置相关
985浏览 • 1回复 待解决
HarmonyOS如何手动重置自定义组件?
1402浏览 • 1回复 待解决
HarmonyOS 导航栏跳转后重置栈
1099浏览 • 1回复 待解决
HarmonyOS clip如何裁剪顶部和左侧的image内容
730浏览 • 1回复 待解决
HarmonyOS 应用沙箱存储数据重置问题咨询
1041浏览 • 1回复 待解决
HarmonyOS Canvas如何设置圆角
891浏览 • 1回复 待解决
HarmonyOS TextOverflow.Clip 未达到预期效果
823浏览 • 1回复 待解决
HarmonyOS Canvas绘制内容如何更新
765浏览 • 1回复 待解决
HarmonyOS 如何使用canvas绘制虚线
744浏览 • 1回复 待解决
HarmonyOS 如何让Canvas重绘
1058浏览 • 1回复 待解决
鸿蒙 | listcontainer滚动时如何防止子view位置被重置
5734浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现手写撤销和重置功能
1003浏览 • 1回复 待解决
HarmonyOS 是否有类似clip切割绘制区域能力
805浏览 • 1回复 待解决
HarmonyOS 如何使用Canvas画扇形
1273浏览 • 1回复 待解决
HarmonyOS Canvas如何触发重绘
1636浏览 • 1回复 待解决
HarmonyOS Tabs组件onChange后会将index重置为0
1066浏览 • 1回复 待解决
HarmonyOS canvas如何绘制成图片导出
943浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙开发中如何设置List组件的clip属性
1067浏览 • 2回复 待解决
#鸿蒙通关秘籍#在HarmonyOS Next应用中如何重置文件拷贝进度?
1269浏览 • 1回复 待解决
组件的通用属性clip有什么作用?
1764浏览 • 1回复 待解决
OpenHarmony,clip掉仍然点击不了, 这是bug吗,怎么解决?
3547浏览 • 1回复 待解决
HarmonyOS canvas画图问题
825浏览 • 1回复 待解决
可以这么写:
需要把:
替换为: