Bitmap bmp = intent.getExtras().get("data");
int size = bmp.getRowBytes() * bmp.getHeight();
ByteBuffer b = ByteBuffer.allocate(size);
bmp.copyPixelsToBuffer(b);
byte[] bytes = new byte[size];
try {
b.get(bytes, 0, bytes.length);
} catch (BufferUnderflowException e) {
// always happens
}
// do something with byte[]
Run Code Online (Sandbox Code Playgroud)
当我在调用copyPixelsToBuffer字节后查看缓冲区全部为0 ...从摄像机返回的位图是不可变的......但这应该无关紧要,因为它正在进行复制.
这段代码有什么问题?
我有一个Main有onCreate()方法的课.在那个方法中,我已经使MapFile类'对象.readFile()并调用它和readIndex()方法.在readIndex()方法中我调用另一个名为MapTilewhere的类,我从二进制文件中读取图像切片,然后我必须显示我的图像.
问题是,如何在不将我的代码放入onCreate(Bundle savedInstanceStare)方法的情况下显示图像?我正在尝试这种方式,但在第一线它给了我NullPointerException.
ImageView image = (ImageView) findViewById(android.R.id.icon);
Bitmap bMap = BitmapFactory.decodeByteArray(imageTile, 0, imageTile.length);
image.setImageBitmap(bMap);
Run Code Online (Sandbox Code Playgroud)