我正在寻找int[][]从a 获取像素数据(在表单中)的最快方法BufferedImage.我的目标是能够(x, y)使用图像来处理图像中的像素int[x][y].我发现的所有方法都没有这样做(大多数都返回int[]s).
目标是将a转换Bitmap为a byte [],在Bundle数据中的活动之间传递,然后将其重新转换回Bitmap稍后阶段以便在a中显示Imageview.
问题在于,每当我尝试这个时,我只得到一个空位图和非描述性,无用的日志输出:
12-07 17:01:33.282: D/skia(2971): --- SkImageDecoder::Factory returned null
我看过以下解决方案:
突出显示copyPixelsToBuffer()对.compress至关重要
(特别是因为在这种情况下没有必要).
我已经运行了以下测试用例,这肯定会将问题缩小到转换和恢复代码.根据我的调试,有正确的解码,字节数组是正确的大小和完整,位图配置被迫是相同的,decodeByteArray只是失败:
package com.example.debug;
import java.nio.ByteBuffer;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.Menu;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class MainActivity extends Activity {
RelativeLayout rl = null;
RelativeLayout.LayoutParams rlp = null;
ImageView ivBef = null;
ImageView ivAft = null;
Bitmap bmBef = null;
Bitmap bmAft = null; …Run Code Online (Sandbox Code Playgroud)