• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Изменение размера изображения без потери качества.

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Всем привет!
Интересует алгоритм изменения размера изображения без потери качества.
В инете нашел . Результат отличный, но к сожалению библиотека платная :(
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
c ULTRA_QUALITY?!

можно еще попробовать
на крайний случай, взять декомпилятор и подсмотреть алгоритм imageresize4j
 

garrick

Lotus Team
26.10.2009
1 351
151
BIT
190
Посмотрел... спецы рекомендуют уменьшать размер изображения поэтапно, за несколько шагов, а не сразу. И да, imgscalr говорят самое то.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Исходное изображение у меня 1620х1080, разрешение 300dpi. Нужное изображение - 1280х853 и во всех вариантах разрешение становится 96dpi. Куда уж тут поэтапно уменьшать изображение?
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
я, конечно, не специалист по графике, но dpi это вроде как характеристика отображающего устройства, а не изображения
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
это характеристика любого изображения
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Ну что, декомпилил я ImageResize4J и получил такое :)
523.png
Импортировать классы в проект никак... т.к. есть одинаково именованные :)
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
Ну что, декомпилил я ImageResize4J и получил такое :)
Посмотреть вложение 6775
Импортировать классы в проект никак... т.к. есть одинаково именованные :)

в общем и целом, java case sensitive для имен классов
проблемы только при разработке, если ОС или ФС case insensitive
поднять виртуалку, чтобы порефакторить имена вроде как не сложно
 
R

romych2004

Вот вариант с поэтапным:


А вот тут есть всякие разные варианты, пробовали их?
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Вот вариант с поэтапным:


А вот тут есть всякие разные варианты, пробовали их?
Да, все это пробовал и результат не фонтан.
Поэтапные варианты не устраивают. Слишком трудозатратны. Обрабатывать необходимо тысячи фотографий.
Лучше ImageResize4J к сожалению пока не нашел.
Нашел одну DLL, результат идентичен ImageResize4J, но не все файлы читаются :(
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Нашел решение.
Библиотека вроде как индусов. Алгоритм использует фильтр Ланцоша.
Они предлагают два метода:
Создание миниатюр
Java:
BufferedImage thumbnail = QualityThumbnail.getScaledImage(sourceImage,128,128);
и изменение размера
Java:
BufferedImage thumbnail = QualityScaler.getScaledImage(source,1280,853);
Результатом доволен.
Главное правильно выбрать метод в зависимости от нужного размера изображения.
 

Вложения

  • jdeli.zip
    214,2 КБ · Просмотры: 217
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!