Байт Android в растровое изображение - PullRequest
1 голос
/ 21 мая 2011

У меня это отлично работает в нашем приложении для iPhone, но у меня проблемы с Android. Я использую одинаковые URL / данные в обоих приложениях. Когда я устанавливаю свое изображение в ListView на растровое изображение, полученное из байтов, изображение не появляется. Данные есть. Вот код, которому я назначаю представление:

if (camera.snapshot != null)
    {
        bMap = BitmapFactory.decodeByteArray(camera.snapshot, 0, camera.snapshot.length);
        image.setImageBitmap(bMap);
    }

Здесь я преобразую строковые данные в байты:

camera.snapshot = responseData.getBytes();

Изображения являются файлами PNG. Они примерно в 4 раза больше того размера, который мне нужен для изображения в виде списка, но я бы подумал, что они идеально подойдут к границам, которые я установил для ImageView.

На iPhone я просто использую NSData, а затем использую встроенный метод в ImageView, чтобы превратить его в изображение. Работает отлично! Что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 21 мая 2011

Здесь все хорошо.Так что вам нужно отладить, чтобы попытаться найти проблему.т.е. Camera.snapshot = null?то есть вы, возможно, не получаете данные должным образом.Или же в макетах может быть проблема с отображением изображения.Попробуйте установить предопределенное изображение для просмотра изображений и посмотрите, отображается ли оно.Таким образом, вы сможете отследить проблему.

0 голосов
/ 21 мая 2011

Вам, вероятно, нужно использовать версию decodeByteArray с четырьмя аргументами: см. http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeByteArray%28byte[],%20int,%20int,%20android.graphics.BitmapFactory.Options%29.

Параметры будут зависеть от типа изображения PNG, поэтому вам, возможно, придется поэкспериментировать.Для общего PNG, может быть что-то вроде этого?

BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDither = true;
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;

Вы можете увидеть http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html и http://developer.android.com/reference/android/graphics/Bitmap.Config.html для более подробной информации.

...