Автоматизировать работу с картинками

Dimon89

Еслть некоторый набор картинок png с прозрачным фоном, все разного размера. На выходе надо получить набор картинок, отресайзенных до 64х64. В принципе, если сначала отресайзить всем картинкам канву до квадрата с прозрачной заливкой фона, то дальше всё решается Irfanview.
Вопрос: чем массово отресайзить канву картинок до квадрата, при условии, что все они разного размера?

okis

Что-то такое попробуй.

tokuchu

Что-то такое попробуй.
Надо сразу на ресайз ссылку давать, convert может сразу сделать что ему надо.
А то ресайзить канву, а потом ещё и картинку — получится извращение. :)

Dimon89

Надо сразу на ресайз ссылку давать, convert может сразу сделать что ему надо.
Не получается. Он канвас не ресайзит.

tokuchu

Не получается. Он канвас не ресайзит.
в смысле?

Dimon89

в смысле?
Делаю convert a.png -resize 64x64 b.png -> получаю картинку 54*64.
Делаю convert a.png -resize 64x64^ b.png -> всё равно получаю картинку 54*64.

Dimon89

 
convert %1 -resize 64x64 -background none -gravity center -extent 64x64 %1_64.png  

работает как надо.

tokuchu

В смысле он сохраняет пропорции, а картинки неквадратные изначально? Я просто не понял что нужно тогда.

Dimon89

Да, картинки изначально неквадратные. Только он ресайзит плохо. Слишком размыто получается :( Придётся всё-таки вручную через Paint.NET

margadon

а в ирфане в батч-конверте нет что ли ресайза к фиксированному размеру?

Dimon89

а в ирфане в батч-конверте нет что ли ресайза к фиксированному размеру?
Канвас - нельзя.

dangerr

А задавать ресайз в процентах не пробовал?
Антиалиасинг отключаться не пробовал?

Dimon89

А задавать ресайз в процентах не пробовал?
Исходные картинки совершенно разного размера - от 100*500 до 1200*800.
Антиалиасинг отключаться не пробовал?
а) как?
б) поможет?

dangerr

"Канвас не ресайзит" это на обычном языке означает "сохраняет соотношение сторон"? Если так, то к чему было всех вводить в ступор этим словом?
а) Узнать как отключается антиалиасинг помогает man: опция -antialias
б) Попробуй, только тебе самому доподлинно известно что ты хочешь получить на выходе.

Dimon89

"Канвас не ресайзит" это на обычном языке означает "сохраняет соотношение сторон"? Если так, то к чему было всех вводить в ступор этим словом?
а) Узнать как отключается антиалиасинг помогает man: опция -antialias
б) Попробуй, только тебе самому доподлинно известно что ты хочешь получить на выходе.
Я всё подробно описывал. "Канвас не ресайзит" и "сохраняет соотношение сторон" - это разные вещи. Мне нужно, чтобы соотношение сторон изображения сохранилось, а размеры картинки при этом изменились.
UPD -antialias сотворил какую-то хрень. Картинка получилась ещё отвратней. Уже забил и делаю руками.

dangerr

Кто-нибудь, кроме GDM-ма, может сказать, что понимает значение выражения "ресайзить канвас" по отношению к png-файлам?

Dimon89

Ууу, зануда...
Исходная картинка:

Ресайз до 64 по максимальному измерению с сохранением пропорций (64х45):

Принудительный ресайз до 64х64:

Что я хочу: ресайз картинки до 64 по максимальному измерению с сохранением пропорций и последующий ресайз канваса до 64х64:

Filan

последующий ресайз канваса до 64х64
А разве это не fill + как там увеличение размера?

356ft85

У слова канвас другой смысл, нежели тот, который одному тебе известен
http://yandex.ru/yandsearch?clid=9582&text=canvas&lr...
ты говоришь про ресайз картинки с последующем изменением её ширины или высоты и заполнением прозрачным цветом краёв видимо (между прочим сама картинка по центру должна быть при этом - ты об этом умалчиваешь)
такое кстати на PHP или дельфе например пишется в 10 строк

tokuchu

Ууу, зануда...
Вот с этих картинок и надо было начинать! :)

Katerina111

Вопрос: чем массово отресайзить канву картинок до квадрата, при условии, что все они разного размера?
Написать флешовую утилиту. Почему флешовую? - Флеш напрямую работает с картой пикселей (не уверен, что ява-скрипт обладает теми же богатыми возможностями).
:=+]
UPD: За что минусы-то? Самый простой способ: закидывать эту утилиту в папку с картинками (если лень делать интерфейс для выбора папок и файлов она при запуске будет хавать список файлов, создавать пустой прозрачный битмап, подгонять под размеры исходные битмапы (если надо удалять пустые поля в исходных картинках, то и такое может писать результат в пустой прозрачный битмап 64х64, сохранять результат. Пишется все это дело максимум за пол часа любым баннер-мейкером, владеющим таинствами класса BitmapData.

dangerr

Расскажи мне пожалуйста, какие во флеше средства для получения листинга директории?
Расскажи как ты собираешься из флеша сохранять BitmapData в файл? Организуешь локальный веб-сервер и будешь кормить ему через POST (для этого ещё надо в ByteArray перегнать сторонними библиотеками а там ещё пых-пых для сохранения прикрутишь?
Только не надо тут про air говорить. Air - это не Flash.
Ты бы лучше назвал современнй широкоупотребимый язык, который не умеет работать с картой пикселей, а то пишешь как будто это какое-то уникальное свойство AS.
Минусы тебе ставят за бредовые предложения применять веб-технологии там, где можно написать обычный скриптик из менее чем десятка строчек.
Ну и про проприетарность, глючность и тормознутость флеша, а просто промолчу.

Katerina111

Расскажи мне пожалуйста, какие во флеше средства для получения листинга директории?
Расскажи как ты собираешься из флеша сохранять BitmapData в файл? Организуешь локальный веб-сервер и будешь кормить ему через POST (для этого ещё надо в ByteArray перегнать сторонними библиотеками а там ещё пых-пых для сохранения прикрутишь?
Только не надо тут про air говорить. Air - это не Flash.
Ты бы лучше назвал современнй широкоупотребимый язык, который не умеет работать с картой пикселей, а то пишешь как будто это какое-то уникальное свойство AS.
Минусы тебе ставят за бредовые предложения применять веб-технологии там, где можно написать обычный скриптик из менее чем десятка строчек.
Это называется слышал звон, да?
FileReference, FileReferenceList - работа с файлами.
Тьма всяческих экспортеров изображений в ByteArray лежит в инете - только в гугле набери (можешь свой написать, если есть время возиться со спецификацией формата).
Ну и про проприетарность, глючность и тормознутость флеша, а просто промолчу.
Авось за умного сойдешь

Dimon89

У слова канвас другой смысл, нежели тот, который одному тебе известен
Во всех известных мне графических редакторах нужная мне операция называется "Resize Canvas". Как ещё я должен был это назвать?

YUAL

нахрен нужно городить что-либо на флэше при наличии нормальных языков?

Katerina111

нахрен нужно городить что-либо на флэше при наличии нормальных языков?
Элементарно, Ватсон! Флеш заточен на работу с графикой, там уже есть масса доступных удобных инструментов. Да тот же смуфинг, чтобы у тебя при ресайзе пиксели не поперли. Не уверен, что в "нормальных" языках с этим все так же элементарно-прозрачно.

Katerina111

Признаю, единственный серьезный препон для решения этой задачи на флеше, который я обнаружил, - это то, что при сохранении каждого файла будет выпрыгивать диалоговое окно и придется жать на кнопку "Save". Т.е. придется сделать столько кликов, сколько было файлов (довольно неприятно, когда файлов больше 20) - задротам старкрафта понравилось бы
Использование AIR решило бы эту проблему.

dangerr

Ну вот до тебя и до самого дошло о чём я говорил. Без сопряжения с чем-нибудь другим или использования air сделать batch-ем у тебя не выйдет.
А ещё тут очень не любят тех, кто гордится своим невежеством. А ты поступаешь именно так, сомневаясь про остальные языки и не желая узнать об их возможностях.
Единственное подо что заточен флеш - это работа внутри браузера. Никакой заточенности под графику и в помине нет.
А ещё ты норовишь перейти на личности. Стандартный демагогический приём.

Katerina111

Без сопряжения с чем-нибудь другим или использования air сделать batch-ем у тебя не выйдет.
Почему же не выйдет? Я все расписал. Сделать 20 кликов мышкой - это довольно-таки значительная автоматизация по сравнению с обработкой 20-и файлов вручную.
Единственное подо что заточен флеш - это работа внутри браузера. Никакой заточенности под графику и в помине нет.

Кто-то здесь гордится своим невежеством.
А ещё ты норовишь перейти на личности. Стандартный демагогический приём.

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

как раз и есть стандартный демагогический прием, все необоснованные утверждения которого разбиваются в один момент без особого труда.

Katerina111

Ну и вот так просто для общего развития флешефобов демка из грядущих Танков Онлайн 2:

dangerr

довольно-таки значительная автоматизация
Это вообще нихрена не автоматизация. Если файлов будет тысяча, то надо будет сделать 1000 бесполезных действий.
необоснованные утверждения которого разбиваются в один момент без особого труда.
Ну хорошо, разбей их... начни с первого: с проприетарности. :grin:
Тормознутость обусловлена например отсутствием разнесения нагрузки более чем на одно ядро, использованием для работы с графикой только CPU.
Танки очень замечательная игра, сам с нетерпением жду, когда во вторую версию всё-таки можно будет поиграть. Только с чем ты её сравниваешь? С OpenGL и DirectX играми? Да это же смешно.

okis

Флеш — проприетарная технология, можно поблагодарить разработчиков за то, что они встроили туда работу с графикой. Но вот как скрипт запустить из шелла я знаю, а как разработать (уж точно используя платную ide) и запустить под виндой (или macos) я не знаю, и потрачу на это, вероятно, целый день.
Конечно, если ты прогаешь на флеше, то, может быть, тебе быстрее написать это на нём. Не очень понял суть автоматизации, но если там всё равно какие-то клики надо делать, уровень автоматизации ниже, чем в консоли. Следовательно, флеш лучшим инструментом для решения данной задачи не является (хотя игры на нём, наверно, делать круто, хорошо и правильно).

Katerina111

Это вообще нихрена не автоматизация. Если файлов будет тысяча, то надо будет сделать 1000 бесполезных действий.
Если бы у бабушки был..., она бы использовала AIR и не парилась.
Ну хорошо, разбей их... начни с первого: с проприетарности.

В чем заключается проприетарность, точнее, в чем ее трагизм, если она есть? Спецификация SWF открытая - пользуйся. Пиши свои движки, либы, как это делает AlternativaPlatform. Тем, что это не опенсорсный проект? - ну извините, опенсорсы пытаются воссоздавать успешные коммерческие проекты, а не наоборот коммерческие проекты пытаются воссоздавать опенсорсные (к слову коммерциализация во флеш - это только их медиа-серверы и IDE, без которых можно весьма успешно обходиться).
Тормознутость обусловлена например отсутствием разнесения нагрузки более чем на одно ядро, использованием для работы с графикой только CPU.

До какого-то момента этого хватало, в fp11 работа с GPU уже реализована (бета нового плеера уже несколько месяцев доступна на labs.adobe.com - релиз лето-осень).
Только с чем ты её сравниваешь? С OpenGL и DirectX играми? Да это же смешно.

Зачем ее с чем-то сравнивать? Можно просто любоваться возможностями флеша, не забывая при этом, что все это доступно уже в браузере.

Katerina111

уж точно используя платную ide
Используй блокнот А если серьезно, то есть, например, бесплатный FlashDevelop, в нем правда нельзя мультики рисовать, но для разработки чего-то серьезного, тебе и не придется эти самые мультики рисовать.
Чем людям не нравится AIR, который и есть флеш, но с дополнительными возможностями для десктопа, я не знаю.

okis

Спасибо, буду знать про ide. А какие известные приложения написаны на adobe air?

Katerina111

А какие известные приложения написаны на adobe air?
Не интересовался, но например множество клиентов для всяких браузерных игр (хочешь в браузере играй, хочешь клиент качай). Приложения написаны на ActionScript 3.0, который в среде AIR имеет дополнительные возможности и некоторые особенности, по сравнению со средой FlashPlayer-a.

YUAL

Элементарно, Ватсон! Флеш заточен на работу с графикой, там уже есть масса доступных удобных инструментов.
это ж какие там есть такие клёвые инструменты, применимые к этой задаче, коих нет в каком-нить Image Magick?

zaqwerd

Air/Flash - govno

dangerr

Он не знает ничего кроме флеша, так что это бесполезно. :)

Katerina111

это ж какие там есть такие клёвые инструменты, применимые к этой задаче, коих нет в каком-нить Image Magick?
Вот мы и вернулись к сторонним библиотекам - а это же так плохо, ага.

YUAL

Вот мы и вернулись к сторонним библиотекам - а это же так плохо, ага.
где говорили, что сторонние библиотеки это плохо?

zaqwerd

Вот мы и вернулись к сторонним библиотекам - а это же так плохо, ага.
Image Magick - ne biblioteka

Katerina111

где говорили, что сторонние библиотеки это плохо?
Было сказано, что это не тру, т.к. во флеше придется подключать конвертер битмапдаты в пнг-ый байтэррэй. Т.е., получается, что даже если писать на "нормальном" языке, то придется подключать чужие костыли, да? Иначе хуйня-с получится...

Filan

Флэш не нужен - есть HTML5.

Katerina111

Флэш не нужен - есть HTML5.
Да, точно! Как же я забыл?..
P.S. Скажешь это, когда продукция на этой технологии будет зарабатывать сопоставимо с продукцией на флеше.

Filan

Да-да-да - сначала себе придумали ограничения, а потом героически их преодолевают и гордятся этим!

Filan

P.S. Скажешь это, когда продукция на этой технологии будет зарабатывать сопоставимо с продукцией на флеше.
Какое отношение объём выбитого с лохов бабла имеет к адекватности технологии?

Katerina111

Какое отношение объём выбитого с лохов бабла имеет к адекватности технологии?
Самое прямое: если технология не работает (не приносит профит) - она бессмысленна.

Filan

Самое прямое: если технология не работает (не приносит профит) - она бессмысленна.
По твоему "работает" = "объёму выбитого с лохов бабла"? И всё то, на чём нельзя обуть лоха не должно существовать?

Katerina111

По твоему "работает" = "объёму выбитого с лохов бабла"? И всё то, на чём нельзя обуть лоха не должно существовать?
Сдается мне, что ты упоротый, мнящий окружающих лохами, но сам-то ты не лох, ага, ни в коем случае.

Filan

Сдается мне, что ты упоротый, мнящий окружающих лохами, но сам-то ты не лох, ага, ни в коем случае.
Ещё один стандартный приём, когда заканчиваются аргументы - уход от темы.
Hint: читай в моих постах вместо слова лох - слово пользователь.
Теперь тебя ничего не смущает и можно вернуться к теме?

Katerina111

Теперь тебя ничего не смущает и можно вернуться к теме?
О чем ты хочешь поговорить? О том, что назвал флеш, на котором зарабатываются немалые деньги, ненужным? Когда люди платят за что-то деньги - это отличный показатель нужности, когда технология помогает зарабатывать деньги - это отличный показатель нужности. Когда ты разглогольствуешь о том, что какая клевая появилась технология, но она не показала пока себя в жизни и не вытеснила другую технологию, которую ты назвал ненужной, - это всего-лишь необоснованный ничем не подкрепленный пердеж в лужу. Это сродни идее - она всего лишь пук, пока не будет реализована и не станет приносить задуманную пользу.

dangerr

Не уверен, что в "нормальных" языках с этим все так же элементарно-прозрачно.
Синдром утёнка.
Это про тебя. :)

apl13

Вопрос: чем массово запломбировать зубы, при условии, что все они разного размера?
Пойти в строительный магазин. Почему строительный? - Там есть наборы сверел и цемент (не уверен, что знахари и фельдшеры обладают теми же богатыми возможностями).
Ну и вот так просто для общего развития строителемагазинофобов фотографии грядущих новостроек из строительного цемента (обратите внимание, как похоже на здоровую белоснежную челюсть!):

viktor954

Флеш заточен на работу с графикой
Это imagemagick заточен на работу с графикой. И "красиво" гладко ресайзить он вполне себе умеет — http://www.imagemagick.org/Usage/resize/
Или вот GIMP _ЗАТОЧЕН_ под работу с графикой. И batch-и он тоже умеет — http://members.ozemail.com.au/~hodsond/dbp.html, но при работе с большим числом файлов CLI удобнее, чем интерфейс типа "Select files..."

apl13

но при работе с большим числом файлов CLI удобнее, чем интерфейс типа "Select files..."
Так у гимпа же есть кли, нэ?
Оставить комментарий
Имя или ник:
Комментарий: