您当前的位置:首页 > 网络学院 > Flash教程
Flash教程

AS3:图像裁剪

来源:番禺网站建设 作者:广州做网站 点击量:5704 添加时间:2008-09-04 20:09:32
最近在做东西的时候要用到图像的裁剪,自然就要用到bitmapData了。很早以前做过基于透明像素的橡皮檫,这个图像裁剪的原理和橡皮檫的原理一样。也许很久没用又出于陌生了,所以决定好好在做一次,又加深些印象。哈哈...

(双击上面那个心生成图像)


以下是图像裁剪核心的代码:
function cutLayer_doubleClick_handler(me:MouseEvent)

cutBtn.mouseEnabled=true;
isCut=false 
itf.actionExit(); //缩放编辑对象退出动作

//temp_bmd主要用于copyPixels ()时候alphaBitmapData的获得,简单理解就是遮照层不规则图象获得
var temp_bmd:BitmapData=new BitmapData(org_sprite.width,org_sprite.height,true,0)
//compare_bmd主要是从源bitmapData在遮照层(不规则图象)上复制的象素图象
var compare_bmd:BitmapData=new BitmapData(org_sprite.width,org_sprite.height,true,0)

//画遮照层对图象的位移,缩放,旋转设置
var temp_matrix:Matrix=new Matrix();

temp_matrix.scale(cut_layer.scaleX,cut_layer.scaleY); 
temp_matrix.rotate(cut_layer.rotation/180*Math.PI);
temp_matrix.translate(cut_layer.x,cut_layer.y); 

//因为遮照层采用了一个遮照Mc和一个透明图象,如果copyPixels时不将alphaBitmapData的透明度为最大.那么copy的图象和alphaBitmapData的透明度是一样的
var temp_ctf:ColorTransform=new ColorTransform()
temp_ctf.alphaOffset=255

//画不规则遮照层
temp_bmd.draw(cut_layer,temp_matrix,temp_ctf);

//复制象素
compare_bmd.copyPixels(org_bmd,
org_sprite.getBounds(this),
new Point(0,0),
temp_bmd,
new Point(0,0),
false);

//显现复制图象
compare_bm.bitmapData=compare_bmd;
}
发表评论 共有 条评论
用户名: 密码: 验证码: 匿名发表
咨询QQ:番禺网站建设149900898 番禺网络公司296823656 番禺网页设计466741366 番禺域名注册598784086 番禺域名注册(售后技术支持)296823656
咨询信箱:001#py001.com  001#001.gd.cn (请将#改为@)
免费咨询电话:4000-848485   咨询热线:020-8484 8485 / 84888958 / 33110440  传真:020-84888958   手机:13600028769
番禺区市桥地址:广州市番禺区大北路118号(番禺宾馆旁)来访前请预约
番禺零零壹网络(广州市灵易计算机软件有限公司) 法律顾问:广东威信律师事务所陈彬律师
《中华人民共和国增值电信业务经营许可证》 粤ICP备08100317号
请使用1024*768分辨率浏览本站以达到浏览企业建站的最佳视觉效果,如果您有任何番禺建网站,南沙,花都网页设计,网站空间,番禺域名注册,番禺企业邮局的问题请与我们联系