详细介绍Java数组,文链:http://c.biancheng.net/view/916.html
虽然使用Java数组效率很低...
代码段:
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.RectF;
//转换bit到bitmap
public Bitmap[] convBit2Bitmap( byte[] outputMask,int MAX_RESULTS ){
//Bitmap[] bitMask=null;
Bitmap[] bitMask=new Bitmap[MAX_RESULTS];
//拆分成多个
int l = outputMask.length/MAX_RESULTS;
double lf = (double)l/3;
int width= (int)Math.floor(Math.sqrt(lf));
int height= width;
height= width=inputSize;
//int type = Bitmap.Config.ARGB_8888;
byte[][] output =new byte[MAX_RESULTS][l];;
for (int i=0;i< MAX_RESULTS;++i){
int spos = i*l;
output[i] =new byte[l];
for ( int j=0;j< l;++j ){
output[i][j] = outputMask[spos +j];
}
if ( output[i].length != 0 ) {
//Bitmap bm= BitmapFactory.decodeByteArray(output[i], 0, output[i].length);
//bitMask[i] =BitmapFactory.decodeByteArray(output[i], 0, output[i].length);//SkAndroidCodec::NewFromStream returned null
//Bitmap.decodeByteArray(outputMask, 0, outputMask.length);
//Bitmap stitchBmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);//RGB_565//ARGB_8888
//stitchBmp.copyPixelsFromBuffer(ByteBuffer.wrap(output[i]));
//bitMask[i] = stitchBmp;
Bitmap stitchBmp = Bitmap.createBitmap(width, height, Bitmap.Config.ALPHA_8);
stitchBmp.copyPixelsFromBuffer( ByteBuffer.wrap(output[i]) );
//bitMask[i] = stitchBmp;
//bitMask[i] = stitchBmp.copy(Bitmap.Config.ALPHA_8, true);bitMask.getConfig();
bitMask[i] = stitchBmp.copy( stitchBmp.getConfig(), true );
int lt = output[i].length;
} else {
}
}
return bitMask;
}
Tips: