Как уменьшить глубину цвета изображения / Сжать размер изображения в Java ME? - PullRequest
1 голос
/ 09 января 2009

Мне нужно передать изображение с мобильного телефона на сервер. Я могу уменьшить размер экрана изображения, но не объем памяти. Я понимаю, что мне приходится иметь дело с глубиной цвета. J2ME не предлагает какой-либо метод масштабирования, который доступен в J2SE:

image rescaled = image.getScaledInstance(thumbWidth, thumbHeight,  Image.SCALE_AREA_AVERAGING);
BufferedImage biRescaled = toBufferedImage(rescaled, thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);

Как бы я занялся этим? Я хотел бы уменьшить размер памяти изображений перед передачей на сервер.

1 Ответ

1 голос
/ 09 января 2009

Взгляните на это ( GEAR Java Mobile Framework ). Существует пакет утилит с классом с именем ImageHelper. Он содержит несколько методов для масштабирования изображения и уменьшения его размера. Он хорошо работает на мобильных устройствах и довольно быстро выполняется. Если ваше изображение все еще большое или вы не хотите терять слишком много данных, рассмотрите возможность использования алгоритма сжатия. zlib предлагает очень хорошее решение, и есть реализация для J2ME, готовая к использованию.

...