Utils.cutBitmap = function(srcBitmap, width, height, type) {
switch (type) {
case 0:
var bitmaps = this.cutRow(srcBitmap, width, height);
break;
case 1:
var bitmaps = this.cutRank(srcBitmap, width, height);
break;
case 2:
var bitmaps = this.cutRowRank(srcBitmap, width, height);
break;
case 3:
var bitmaps = this.cutRankRow(srcBitmap, width, height);
break;
default:
throw new Error('Type error')
}
return bitmaps;
}
Utils.cutBitmapConfig = function(srcBitmap, config) {
var bitmaps = [];
var length = config.length;
for (var i = 0; i < length; i++) {
var bitmap = new Bitmap(config[i][0], config[i][1]);
bitmap.blt(0,0, srcBitmap, config[i][0], config[i][1], config[i][2], config[i][3]);
bitmaps.push(bitmap);
};
return bitmaps;
}
Utils.cut = function(srcBitmap, dx, dy, number, width, height) {
var bitmaps = [];
for (var i = 0; i < number; i++) {
var x = i * dx;
var y = i * dy;
var bitmap = new Bitmap(width, height);
bitmap.blt(srcBitmap, x, y, width, height, 0, 0);
bitmaps.push(bitmap);
};
return bitmaps;
}
Utils.cutRow = function(srcBitmap, width, height) {
var number = srcBitmap.width / width;
var dx = width;
var dy = 0;
return this.cut(srcBitmap, dx, dy, number, width, height);
}
Utils.cutRank = function(srcBitmap, width, height) {
var number = srcBitmap.height / height;
var dx = 0;
var dy = height;
return this.cut(srcBitmap, dx, dy, number, width, height);
}
Utils.cutRowRank = function(srcBitmap, width, height) {
var bitmaps1 = this.cutRow(srcBitmap, width, srcBitmap.height);
var bitmaps2 = [];
for (var i = 0; i < bitmaps1.length; i++) {
bitmaps2 = bitmaps2.concat(this.cutRank(bitmaps1[i], width, height));
};
return bitmaps2;
}
Utils.cutRankRow = function(srcBitmap, width, height) {
var bitmaps1 = this.cutRank(srcBitmap, srcBitmap.width, height);
var bitmaps2 = [];
for (var i = 0; i < bitmaps1.length; i++) {
bitmaps2 = bitmaps2.concat(this.cutRow(bitmaps1[i], width, height));
};
return bitmaps2;
}
嗯 用于进行图片分割的轮子。
cutBitmap进行图片分割。提供四种模式(type0,1,2,3 ):按行分割 按列分割 先行后列 先列后行。
cutBitmapConfig 按配置分割。config是一个二层嵌套的数组,他的每一个值是一组按[x,y,width,height]排布的数组。