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会显示异常
984浏览 • 1回复 待解决
HarmonyOS 父组件的clip属性支持分别clip上、下、左、右吗?
1229浏览 • 1回复 待解决
HarmonyOS .clip矩形裁切无法生效
1037浏览 • 1回复 待解决
HarmonyOS如何手动重置自定义组件?
1481浏览 • 1回复 待解决
HarmonyOS 订阅subGroupGenerationId重置相关
1046浏览 • 1回复 待解决
HarmonyOS clip如何裁剪顶部和左侧的image内容
780浏览 • 1回复 待解决
HarmonyOS 导航栏跳转后重置栈
1145浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现手写撤销和重置功能
1082浏览 • 1回复 待解决
HarmonyOS TextOverflow.Clip 未达到预期效果
868浏览 • 1回复 待解决
HarmonyOS Canvas如何设置圆角
945浏览 • 1回复 待解决
HarmonyOS 应用沙箱存储数据重置问题咨询
1095浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS Next应用中如何重置文件拷贝进度?
1323浏览 • 1回复 待解决
HarmonyOS Canvas如何触发重绘
1799浏览 • 1回复 待解决
HarmonyOS 如何使用Canvas画扇形
1351浏览 • 1回复 待解决
HarmonyOS 是否有类似clip切割绘制区域能力
841浏览 • 1回复 待解决
HarmonyOS 手机重置数据恢复和深度格式化
3890浏览 • 1回复 待解决
HarmonyOS 如何使用canvas绘制虚线
795浏览 • 1回复 待解决
HarmonyOS Canvas绘制内容如何更新
814浏览 • 1回复 待解决
HarmonyOS 如何让Canvas重绘
1169浏览 • 1回复 待解决
鸿蒙 | listcontainer滚动时如何防止子view位置被重置
5764浏览 • 1回复 待解决
如何操作canvas重新绘制
2158浏览 • 1回复 待解决
canvas如何实现水印效果
2166浏览 • 1回复 待解决
HarmonyOS Canvas 组件,如何主动触发绘制
721浏览 • 1回复 待解决
HarmonyOS canvas如何实现画线跟手效果
1024浏览 • 1回复 待解决
组件的通用属性clip有什么作用?
1857浏览 • 1回复 待解决
可以这么写:
需要把:
替换为: