2013-09-17 3 views
2

Мне нужно сделать некоторую обработку растрового изображения, и я пытаюсь использовать NDK для возврата байтового массива в java путем блокировки пикселей Bitmap. После обработки в java, я (, наконец,) вызывает другую функцию NDK, чтобы разблокировать пиксели растрового изображения.Android NDK возвращаемый массив байтов пикселей растрового изображения

Я tryied несколько вещей, но никто не работал:

  • возвращение к Яве пустоты * возвращенной блокировка пиксели операции (литье как jbyteArray), не работает (SIGSEGV).
  • Использование ByteBuffer также не работает, потому что его только чтение (мне нужно манипулировать им из java).
  • Все остальные подходы, которые, кажется, работают, создадут копию массива ... Я пытаюсь избежать этого, чтобы уменьшить объем памяти .
+0

Если вы ищете в stackoverflow, то можете найти ответы. См. Также http://developer.android.com/training/articles/perf-jni.html#faq_sharing. – fadden

ответ

0

Ive решил это, манипулируя массивом полностью внутри собственного кода. Весь код Java, который использовал байт [], был перенесен в JNI.

Согласно моим исследованиям, я думаю, что нет никакого способа манипулировать байтовым массивом Bitmap непосредственно с Java. Конечно, вы можете манипулировать копией, но я нахожу любой способ работать непосредственно с данными родного растрового изображения.

Если кто-то найдет способ, я хотел бы это знать.

С уважением!

Смежные вопросы