打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
as3 加载外部图片等比缩放类(as3)

package

    import flash.display.Bitmap; 
    import flash.display.BitmapData; 
    import flash.display.DisplayObject; 
    import flash.display.IBitmapDrawable; 
    import flash.geom.Matrix; 
    import flash.geom.Rectangle; 
     
    /**
     * ...图像数据处理工具
     */ 
    public class BitmapUtil  
    {  
         
        /**
         * 获取按指定尺寸等比例缩放+居中的截图
         * @param   target        目标对象
         * @param   tarW          目标尺寸(宽)
         * @param   tarH          目标尺寸(高)
         * @param   full          是否显示图片全貌
         * @return
         */ 
        public static function getZoomDraw(target:DisplayObject, tarW:int, tarH:int,full:Boolean=true):BitmapData { 
            //获取显示对象矩形范围 
            var rect:Rectangle = target.getBounds(target); 
            //计算出应当缩放的比例 
            var perw = tarW / rect.width; 
            var perh = tarH / rect.height; 
            var scale = full?((perw <= perh)?perw:perh):((perw <= perh)?perh:perw); 
            //计算缩放后与规定尺寸之间的偏移量 
            var offerW = (tarW - rect.width * scale) / 2; 
            var offerH = (tarH - rect.height * scale) / 2; 
            //开始绘制快照(这里透明参数是false,是方便观察效果,实际应用可改为true) 
            var bmd:BitmapData = new BitmapData(tarW, tarH, false, 0); 
            var matrix:Matrix = new Matrix(); 
            matrix.scale(scale, scale); 
            matrix.translate( offerW, offerH); 
            bmd.draw(target, matrix); 
            //如果是bitmap对象,释放位图资源 
            if (target is Bitmap)   (target as Bitmap).bitmapData.dispose(); 
            //返回截图数据 
            return bmd; 
        } 
    }      

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
flash加载外部图片等比缩放类(as3) - 多媒体制作
flash as3.0 像素级的碰撞检测
给mp3播放器增加音乐波形显示功能
Flex缩略图功能
第2章 ActionScript教程
编辑器窗口画线修改
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服