Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Сжатие картинок |
Автор: MrLjaO 12.4.2006, 18:47 |
как можно сжать картинку? Т е у меня есть допустим ... допустим скрин экрана ... размером 1024x768.. я бы ужать .. а потом и сохранить в jpg но размером 640x480. как Этого можно добиться? Может кто сталкивался? подскажите ... (как сохранять не пишите )) знаю )) ) |
Автор: powerOn 12.4.2006, 19:40 | ||
У объектов класса Image, а следователно и у BufferdImage есть метод изменяющий размер картинки.
На счет сжатия я не уверен, но можно посмотреть этот пакет: javax.imageio.plugins.jpeg |
Автор: MrLjaO 13.4.2006, 16:15 | ||
Думал что разберусь - однако - не разобрался .... Пример такой ...
|
Автор: LSD 13.4.2006, 16:25 | ||
Старый Image не меняется, взамен создается новый Image указанного размера. |
Автор: v2v 10.7.2007, 19:50 | ||
А подскажите как сохранить рисунок в файл.. но не используя класс ImageIO, так как SDK v.1.3 |
Автор: Eugene128 24.9.2009, 14:27 |
А по весу файла можно каким либо способом сжать картинку? Т.е. например нужно из файла любого размера сделать файл весом не более пол мегабайта. |
Автор: Eugene128 24.9.2009, 15:33 |
А как его применить?) (Потеря качества не имеет принципиального значения, естественно в пределах разумного). Я то до этого применял setCompressionQuality при конвертации картинки. Но этот параметр как-то странно и неоднозначно влияет на размер. Т.е. непонятно как этот параметр связан с размером (весом) файла (я имею ввиду линейно, квадратично или еще как приблизительно). |
Автор: powerOn 24.9.2009, 15:39 | ||||
Вот http://www.exampledepot.com/egs/javax.imageio/JpegWrite.html можно пример посмотреть.
Да, через него и делается.
тут нужно в доку посмотреть, я не углублялся в эти подробности. |
Автор: LSD 24.9.2009, 16:29 | ||
Нелинейно, да еще зависит от самой картинки. В фотошопе в Save for web, есть возможность менять качество Jpeg и смотреть на размер картинки, так там видно что зависимость нелинейная. Заодно видно, что далеко не любую картинку можно ужать до 0.5 Мб ![]() В общем нормальным будет вариант: - сохраняем с качеством 80 - если размер файла > 0.5 Мб, то уменьшаем качество до 40б иначе можно увеличить до 90 или вообще не трогать, 80 и так нормально - если размер файла > 0.5 Мб, то уменьшаем качество до 20, если < 0.5 Мб увеличиваем качество до 60 и т.д. |
Автор: Eugene128 24.9.2009, 17:12 |
Спасибо! Так и поступлю. |