lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7419|回复: 5
打印 上一主题 下一主题

图像擦除效果如何弄

[复制链接]

19

主题

0

好友

225

积分

帐下督

Rank: 2

跳转到指定楼层
楼主
发表于 2014-9-10 23:15:09 |显示全部楼层 |倒序浏览
我想实现图片擦除的功能,就是鼠标拖过的地方都变成透明的,类似于以下的样子

我看到这些都是直接操作canvas实现的,主要代码如下:
  1. function resetEraser(_x,_y,touch)
  2. {
  3.    
  4.     var t=this;
  5.    
  6.     t.cxt.globalCompositeOperation = "destination-out";
  7.     t.cxt.beginPath();

  8.     t.cxt.arc(_x, _y, t.eraserRadius, 0, Math.PI * 2);
  9.    
  10.     t.cxt.strokeStyle = "rgba(250,250,250,0)";//使用颜色值为白色,透明为0的颜色填充
  11.     t.cxt.fill();
  12.     t.cxt.globalCompositeOperation = "source-over"
  13. }
复制代码
这个功能不知道在lufylegend中如何实现?

回复

使用道具 举报

19

主题

0

好友

225

积分

帐下督

Rank: 2

沙发
发表于 2014-9-11 11:33:07 |显示全部楼层
我试了很多种效果,好像都没办法完成啊。
这个是两层图像,最下面一层是真相,不用动,上面一层是模糊的图像,现在是要把这一层模糊的涂掉,用BlendMode的话就应该在模糊层上面再加一层LShape,设置shape.blendMode,涂到哪里就在graphics上填充,如果设置为DESTINATION_OUT可以把下层涂掉,但这样真相那层也被涂掉了。
不知道有什么好的解决方法。
回复

使用道具 举报

19

主题

0

好友

225

积分

帐下督

Rank: 2

板凳
发表于 2014-9-11 17:26:42 |显示全部楼层
好像同时放在canvas里是不可能的了。真相图要放在html里,这个具体要怎么弄呢?对web开发不熟啊。
回复

使用道具 举报

19

主题

0

好友

225

积分

帐下督

Rank: 2

地板
发表于 2014-9-11 18:29:01 |显示全部楼层
能弄两个canvas吗?
回复

使用道具 举报

19

主题

0

好友

225

积分

帐下督

Rank: 2

5#
发表于 2014-9-11 21:19:00 |显示全部楼层
我现在两个canvas也不知道怎么重叠在一起,求大神解答。
回复

使用道具 举报

19

主题

0

好友

225

积分

帐下督

Rank: 2

6#
发表于 2014-9-11 23:43:14 |显示全部楼层
解决了,用LGlobal.canvasObj.style.background,基础不好累死人啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-17 16:23 , Processed in 0.053833 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部