Сжатие изображения с использованием JPEG Lossless и преобразование изображения в Base64Encoded String

У нас есть требование сжать изображение размером около 50 КБ - 75 КБ в пределах 25 КБ. Мы следовали примеру, приведенному в http://examples.javacodegeeks.com/desktop-java/imageio/compress-a-jpeg-file/. определяя качество как 0.1f, мы можем уменьшить размер изображения ниже 25 КБ. Но изображение теряет качество.

Нам нужно ваше предложение по:

  1. Как мы можем сжать изображение, чтобы быть в пределах 25 КБ без потери качества?
  2. После сжатия мы конвертируем байтовый массив изображения в Base64Encoded String. После этого содержимое строки превышает ограничение размера 25 КБ. Как я могу контролировать этот размер?

Нам нужна ваша помощь в решении этой проблемы. Пожалуйста помоги.

1 ответ

JPEG не поддерживает сжатие без потерь. Лучше всего будет использовать новый формат Google WebP. Сжимает довольно хорошо и без потерь. Нет смысла конвертировать его в Base64. Это нелепая операция, когда вы пытаетесь сделать данные как можно меньше.

Другие вопросы по тегам