ByteArray生成图片

直接来代码:

package
{
	import com.adobe.images.PNGEncoder;
	
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.net.FileReference;
	import flash.utils.ByteArray;
	
	/**
	 * ...
	 * @author aisajiajiao
	 * 
	 */	
	public class DynamicImageCreater extends Sprite
	{
		[Embed(source="image.png")]
		private var Image:Class;
		
		private var streams:ByteArray;
		private var fileReference:FileReference;
		private var bmd:BitmapData;
		
		public function DynamicImageCreater()
		{
			//这张图在舞台上只是展示用,表示舞台上有东西
			var img:Bitmap = Bitmap(new Image());
			addChild(img);
			
			bmd = new BitmapData(stage.stageWidth,stage.stageHeight,true,0);
			bmd.draw(this);
			
			//PNGEncoder是静态类,将BitmapData数据转换为ByteArray并返回
			streams = PNGEncoder.encode(bmd);
			
			fileReference = new FileReference();
			stage.addEventListener(MouseEvent.CLICK,clickHandler);
		}
		
		private function clickHandler(e:MouseEvent):void
		{
			fileReference.save(streams,"Hello.png");
		}
	}
}

注意PNGEncoder这个类导自Adobe官方开源的AS3库as3corelib,其GitHub地址如下:https://github.com/mikechambers/as3corelib 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值