其他分享
首页 > 其他分享> > android – 如何将字节数组转换为位图图像?

android – 如何将字节数组转换为位图图像?

作者:互联网

这里我附加将Bitmap转换为Byte数组的代码,现在我必须重新生成位图以在android Image-view中显示.

在下面的代码中,mRawBitmapData是byte Araay.这里的代码是为转换后的图像创建字节数组,所以现在我必须从这个字节数组中重新生成位图.

private void convertArgbToGrayscale(Bitmap bmpOriginal, int width, int height){
    int pixel;
    int k = 0;
    int B=0,G=0,R=0;
    try{
        for(int x = 0; x < height; x++) {
            for(int y = 0; y < width; y++, k++) {

                pixel = bmpOriginal.getPixel(y, x);

                if(pixel == -1){
                    mDataArray[k] = 1;
                }
                else {
                    mDataArray[k] = 0;
                }
            }
            if(mDataWidth>width){
                for(int p=width;p<mDataWidth;p++,k++){
                    mDataArray[k]=0;
                }
            }
        }
    }catch (Exception e) {

        Log.e(TAG, e.toString());
    }
}

private void createRawMonochromeData(){
    int length = 0;
    for (int i = 0; i < mDataArray.length; i = i + 8) {

        int k=0;
        for (int j = 7; j >=0; j--, k++) {
            if(mDataArray[i+k]==1)
            {
                mRawBitmapData[length] |= 1 << j;
            }
            else
            {
                mRawBitmapData[length] &= ~(1 << j);
            }

        }

        length++;

    }
}

解决方法:

byte[] bitmapdata; // let this be your byte array
Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapdata , 0, bitmapdata .length);

标签:android,android-bitmap
来源: https://codeday.me/bug/20190716/1475531.html