Y.Boy's Blog

Web Game,Flex,Flash,AIR,RIA,ActionScript,Pixel Bender

AS3实现对图片进行任意形状裁剪的例子


        大家回顾一下那些可对图片进行加工的网站,或者那些提供编辑头像功能的网站(例如Discuz!),都会有裁剪功能的。不过裁剪形状大都是矩形,大概也会有圆形、椭圆形,不过比较少见。近几天,我一直在研究Fireworks上的一些编辑功能,例如对齐、分布、滤镜…… 今天早上,不顺利地实现了可对图片进行任意形状裁剪的功能。不知道有没有先例,我还是研究出来了。功能函数的核心代码在15行左右,功能是实现出来了,但算法不知道是不是最佳的。

        以下是一个例子,右键可以查看(下载)源代码。例子里的海报是我为工作室设计的招聘海报,有时间也请批判一下:)

效果演示点击这里
源码查看点击这里

标签:ActionScript3, fireworks, flash, Flex, 裁剪功能

相关日志


评论


1
作者:  auzn | 日期:  2008年9月18日 | 时间:  23:04

很不错 :)

就是任意形状裁剪操作左键释放后还是跟随着画图形,我觉得释放后就自动封闭图形好些,个人意见 嘿嘿

回复他(她)

Y.Boy Reply:

呵呵,auzn的观察力果然锐利!
你所说的是画图那方面的,我也有想过这个问题,但现在这个例子我只想说明可裁剪任意形状而已。对于画图功能没花多少功夫,当然如果应用到实际项目上这是一个不容忽视的问题:)
你的建议点中要害了,谢谢你的关注!

回复他(她)

auzn Reply:

期待你的完成 :)

回复他(她)

Y.Boy Reply:

谢谢!完成后第一个通知你:)

回复他(她)

2
作者:  gembin | 日期:  2008年9月19日 | 时间:  10:54

招聘海报的字体和颜色不错!!

回复他(她)

Y.Boy Reply:

谢谢赞赏:)

回复他(她)

3
作者:  Chada | 日期:  2008年9月20日 | 时间:  08:27

现在看不到演示哦,我想如果能够做成一个在线工具应该是不错的。哈哈,到时候我推荐一下。

回复他(她)

Y.Boy Reply:

是的,我正在策划中。正打算做一个在线图片编辑工具,先谢谢你的推荐哦:)

回复他(她)

4
作者:  流浪的蜗牛 | 日期:  2008年9月22日 | 时间:  11:54

不错的说!
不过那个圆型视乎有些问题,特别是超过图片边界的时候。。

回复他(她)

Y.Boy Reply:

呵呵,你所说的跟1楼所说的是同一问题:)
观察得挺仔细,谢谢。

回复他(她)

5
作者:  爱好者 | 日期:  2008年9月23日 | 时间:  19:27

感觉很不错!
期待更完善…

回复他(她)

Y.Boy Reply:

谢谢关注:)

回复他(她)

6
作者:  powerboy | 日期:  2008年10月8日 | 时间:  10:33

不错,不过感觉使用起来不是很灵活,原因有两点:
1、图形貌似只能放大不能缩小;
2、鼠标按下之后在所选择的区域内释放鼠标无效,必须在区域外释放才可以。 ;P

回复他(她)

Y.Boy Reply:

你的问题跟一楼的如出一辙。当初只为把核心的功能演示出现,所以没有做完善:)
谢谢P-Boy的关注:)

回复他(她)

7
作者:  RIA-study | 日期:  2008年10月9日 | 时间:  19:27

噢还不错!!

回复他(她)

8
作者:  ywxgood | 日期:  2008年11月14日 | 时间:  13:06

终于找到了我要的效果,谢谢了~看到你的代码,注释很详细,对我这样的菜人来说受益匪浅啊!博主加油!

回复他(她)

Y.Boy Reply:

看到有人需要了,我很开心:)

回复他(她)

9
作者:  wufee | 日期:  2009年1月10日 | 时间:  09:37

你好能不能给一个使用的例子?网上的例子不能下载!!!!谢谢!!

回复他(她)

Y.Boy Reply:

在查看源代码那里有下的。
下载地址:http://riahome.googlecode.com/svn/trunk/CutOutSuper/srcview/CutOut.zip

回复他(她)

10
作者:  lyjjq | 日期:  2009年11月11日 | 时间:  22:37

我初学几天flex, 为了这个功能我已经找了一天了,谢谢

回复他(她)

Y.Boy Reply:

我这个方法不是最好的,做法上有点不对劲。无论如何,都能实现效果而且效率还算理想(安慰自己…)。

回复他(她)

11
作者:  AuTT | 日期:  2010年1月23日 | 时间:  21:05

你好 ,博主这个工具中分割出的图像能够单独保存吗?期待您的回答

回复他(她)

12
作者:  bin | 日期:  2010年4月6日 | 时间:  16:41

裁剪边缘锯齿怎么处理~~

回复他(她)

Y.Boy Reply:

那套AdjustDisplayObject类库有。请仔细查看。

回复他(她)

bin Reply:

好的,谢谢~~

回复他(她)



发表评论

Note: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-spam image