获取按指定尺寸等比例缩放+居中的截图

		/**
* 获取按指定尺寸等比例缩放+居中的截图
* @param target 目标对象
* @param tarW 目标尺寸(宽)
* @param tarH 目标尺寸(高)
* @param full 是否显示图片全貌
* @return
*/
private static function getZoomDraw(target:BitmapData, tarW:int, tarH:int,full:Boolean=true):BitmapData
{
//获取显示对象矩形范围
var rect:Rectangle = new Rectangle(0,0,target.width,target.height);
//计算出应当缩放的比例
var perw:Number = tarW / rect.width;
var perh:Number = tarH / rect.height;
var scale:Number = full?((perw <= perh)?perw:perh):((perw <= perh)?perh:perw);
//计算缩放后与规定尺寸之间的偏移量
var offerW:Number = (tarW - rect.width * scale) / 2;
var offerH:Number = (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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值