GIMP Liquid Rescale
Вот ругаю я Gimp за его топорный интерфейс и неудобство с инструментами, а он всё равно вылезает впереди планеты всей. Вот и сейчас отличился. Только скорее не он сам а его плагин, а ещё вернее его создатель. А ещё вернее новый алгоритм масштабирования изображение.
Пройдите по ссылке и посмотрите видео: http://www.seamcarving.com/
Там же есть pdf-файл объясняющий принцип алгоритма. Мне было лень его читать, но по картинкам и так можно понять на каком принципе строится алгоритм.
Интересен так же факт, что со-автор иследований Shai Avidan был нанят компанией Adobe для реализации подобного алгоритма для внедрения его (наверное в виде плагина или апдейта) в Adobe Photoshop.
А для Gimp-мастеров ссылка на плагин.
Спасибо Василию Жукову за информацию.
Updated: 14:30
Ради такого дела поставил Gimp и наглядно проверил работоспособность плагина. Вот что получилось:
Исходная картинка

Rescale по-горизонтали до ширины 400 px

Rescale по-вертикали до высоты 400 px

Настройки плагина я оставил как есть – лень читать документацию к нему.
Итог
- Прежде чем ползоваться нужно думать что делаешь (ну это в прочем как всегда).
- Масштабировать он может только картинки на которых есть большие однотипные области, иначе много и некрасиво объедает.
- При масштабировании по-горизонтали изменяется линия горизонта (если она не паралельна краю фотографии), он становится преломлённым.
- При масштабировании по-вертикали, также становятся кривыми линии которые на исходнике были прямыми, но повёрнутые под углом
Т. е. конечно пробуйте, масштабируйте, но масштабируйте с умом!





]]>prokoudine]]>Ну вообще-то начиная с версии 0.2.0 можно указывать области, которые не трогать совсем или, напротив, полностью вырезать с картинки
»]]>Никита]]>Ну тогда это уже лучше.
»Но я так понял – это только плагин для изменения размера картинки. А может ли он создавать такие картинки которые будут растягиваться или наоборот – уменьшаться (например, точное указание ширины и высоты в CSS)?
]]>prokoudine]]>Не понял Ваш вопрос.
В диалоге чётко указывается конечный размер изображения, который может быть больше или меньше исходного по любой стороне.
»]]>Никита]]>Имею в виду ресайзинг на лету, как показано в видео. Хотя для этого понадобится новый формат.
»]]>prokoudine]]>Аааа
На лету
Ну, для этого нужно просто переписать расширение как инструмент или даже как новый режим существующего инструмента интерактивного масштабирования. Ровно это в своё время сделали с SIOX (выделение объектов на переднем плане)
Насчёт нового формата опять не понял: что это за зверь такой?
»]]>Никита]]>Ну просто в стандартные jpg или png такой ресайзинг не засунешь, поэтому я и говорю, что наверное должен быть другой формат графических файлов содержащих картинку и инструкции по изменению её размера.
»]]>prokoudine]]>Вы меня совсем запутали
Зачем куда-то засовывать ресайзинг?
»]]>Никита]]>Ну как зачем? Вот например я делаю сайт. В шапке помещаю длинную панорамную фотографию, но для пользователей с небольшими экранами она должна быть не обрезана (как обычно бывает), а ужата этим самым способом. Если я изменяю размер окна, вместе с ним и изменяется размер картинки. Сейчас это делают используя несколько полупрозрачных png-картинок.
http://www.artlebedev.com/everything/web/
»посужайте и порастягивайте окно браузера. Как меняется картинка? Вот ХАЧУ чтоб так работало используя обсуждаемый алгоритм.
]]>prokoudine]]>Ну это уже следующий этап развития
А на данном вполне достаточно того, что уже предлагают
»