преобразование растрового изображения Java в массив байтов

  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[]

Когда я смотрю на буфер после вызова copyPixelsToBuffer , все байты равны 0 ... Растровое изображение, возвращаемое камерой, неизменяемо ... но это не имеет значения, так как он делает копию.

Что может быть не так с этим кодом?

279
задан Tom Fobear 5 August 2013 в 03:59
поделиться