Конвертируйте изображение .gif в base64 для загрузки на сервер.

1

Я пытаюсь закодировать анимированный GIF в Base64, чтобы я мог загрузить его на сервер. Я уже делаю это со статическими изображениями, но если я пытаюсь сделать это с GIF, это просто не работает. Я получаю изображение из Intent Image Picker и помещаю его в ImageView.

Вот код, который я использую для кодирования изображений в base64:

Bitmap bitmap = ((BitmapDrawable) ((ImageView) nextChild).getDrawable()).getBitmap();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 60, baos);
byte[] imginbyte = baos.toByteArray();
value = Base64.encodeToString(imginbyte, Base64.DEFAULT);
Теги:
gif

2 ответа

0

Можете ли вы попробовать сжатие PNG, чтобы избежать потери данных сжатия?

Bitmap bitmap = ((BitmapDrawable) ((ImageView) nextChild).getDrawable()).getBitmap();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] imginbyte = baos.toByteArray();
value = Base64.encodeToString(imginbyte, Base64.DEFAULT);
0

попробуй это:

byte[] imginbyte = Base64.decodeBase64(bitmap.getImageBase64());
new FileOutputStream("image2.gif");
write(imginbyte);
close();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню