📄 bmpprocess.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 + -