首页 新闻 会员 周边

WPF/C#中如何实现类似于PS一样的图片背景橡皮擦?

0
悬赏园豆:20 [已解决问题] 解决于 2019-11-12 09:05

也就是,鼠标作为橡皮擦(可调整橡皮擦的宽度)
刷图片的过程可以使图片被刷过的部分变为透明色

大头BigHead的主页 大头BigHead | 菜鸟二级 | 园豆:230
提问于:2019-10-24 09:13
< >
分享
最佳答案
0

解决方案已经自己研究出来
视觉:
使用WPF中的PathGeometry画图形
再转成Brush
最后用这个Brush作为Image控件的OpacityMask

文件:
同样使用上述Bursh作为OpacityMask,只不过是DrawingVisual的
通过WPF的DrawingVisual和DrawingContext保存它为图片文件

大头BigHead | 菜鸟二级 |园豆:230 | 2019-11-11 18:45
其他回答(2)
0

一种简单的是实现是,鼠标划过的地方绘制线条,覆盖住图片

会长 | 园豆:12401 (专家六级) | 2019-10-24 09:21

那请问那个画笔大小怎么去设置呢?

支持(0) 反对(0) 大头BigHead | 园豆:230 (菜鸟二级) | 2019-10-24 09:29

@大头BigHead: 忘了,你百度吧

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2019-10-24 10:10
0

肯定最终是把Bitmap的 数组数据改成Alpha=0。

至于实现过程可以多种方式,比如移动的时候不是擦而是“画”区域,当Over的时候真正去改 View对应的Bitmap数组;也可以实时选区域,去改Bitmap的数组值。

收获园豆:20
花飘水流兮 | 园豆:13560 (专家六级) | 2019-10-24 18:51

谢谢回复~目前已经找到了解决办法
使用PathGeometry和OpacityMask。

支持(0) 反对(0) 大头BigHead | 园豆:230 (菜鸟二级) | 2019-11-11 18:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册