⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bmpprocess.as

📁 Flash AS3 位图处理类
💻 AS
字号:
package {
	import flash.display.*;
	import flash.geom.*;
	public class BmpProcess {
		public static function rank(source:DisplayObject,col:int,row:int,valid = null,trans:Boolean = true):Array {
			var w:Number = source.width/col;
			var h:Number = source.height/row;
			valid = valid == null ? col*row : valid;
			var target:Array = incise(source,w,h,col,row,valid,trans);
			return target;
		}
		public static function pixel(source:DisplayObject,w:Number,h:Number,valid = null,trans:Boolean = false):Array {
			var col:int = Math.ceil(source.width/w);
			var row:int = Math.ceil(source.height/h);
			valid = valid === null ? col*row : valid;
			var target:Array = incise(source,w,h,col,row,valid,trans);
			return target;			
		}
		public static function transparent(source,arg1 = null,arg2 = null):BitmapData{
			var threshold:uint;
			var s:BitmapData = source is Bitmap ? source.bitmapData : source;
			if(arg1 == null){
				threshold = s.getPixel(0,0);
			}else {
				if(arg2 == null){
					threshold = arg1;
				}else{
					threshold = s.getPixel(arg1,arg2);
				}
			}
			var rect:Rectangle = new Rectangle(0,0,s.width,s.height);
			var origin:Point = new Point(0,0);
			var result:BitmapData = new BitmapData(s.width,s.height,true);
			result.copyPixels(s,rect,origin);
			result.threshold(s,rect,origin,"==",threshold,0,0xF0F0F0,true);
			return result;
		}
		private static function incise(source:DisplayObject,w:Number,h:Number,col:int,row:int,valid:int,trans:Boolean):Array {
			var target:Array = [];
			var matrix:Matrix = new Matrix();
			var rect:Rectangle = new Rectangle(0 , 0, w, h);
			out:
			for (var j:int = 0; j < row; j++) {
				for (var i:int = 0; i < col; i++) {
					if (valid <= 0)break out;					
					var bmp:BitmapData = new BitmapData(w,h,trans,0);
					matrix.tx = -i*w;
					matrix.ty = -j*h;
					bmp.draw(source,matrix,null,null,rect,true);
					target.push(bmp);
					valid--;
				}
			}
			return target;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -