Документ взят из кэша поисковой машины. Адрес оригинального документа : http://wasp.phys.msu.ru/forum/lofiversion/index.php?t2702.html
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 12:16:31 2016
Кодировка: Windows-1251
Студенческий форум Физфака МГУ > C++
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: C++
Студенческий форум Физфака МГУ > Наука физика > Есть проблема
Cheburashka
Вопрос идиотский, и все же. Есть картинка (например, bmp, не суть). Надо ее изменить. Но в paint'е это очень долго. А в проге - самое то. Как написать критерии изменения - понятно. Проблема в том, как эту картинку распознать (превратить в массив циферок), а потом, изменив, записать обратно??? 197.gif
асоциальный психопат
во-первых, можно изучить формат bmp. (-:
он на самом деле очень простой, ибо в стандартном исполнении без сжатия. под каждый пиксел отводится от одного до трех байт в зависимости от цветности. пикселы перечисляются в порядке справа-налево, снизу-вверх. ну плюс еще в начале файла заголовок.

во-вторых, можно покрутить ImageMagick и подобных.

в-третьих, неисключено, что твою проблему можно решить фотожопом без особого труда. (-:
Cheburashka
bmp или любой другой формат - это не важно. Формат исходного рисунка я могу сделать таким, каким надо. А фотошоп не пойдет, так как надо делать кучу одинаковых действий с разными файлами. Один так отредактировал - ушел целый день. Не оно. В фортране, например, просто можно задать имя и параметры исходного файла и на выходе получить массив чисел. А вот каков аналог в Сях? 194.gif
асоциальный психопат
в Сях тебе нужно найти подходящую библиотеку. ((-: какую именно -- я не силен, уже несколько лет на сях ничего не писал.

а про фотожоп... ключевые слова actions и batch тебе о чем-нибудь говорят?
Cheburashka
С этого места можно поподробней про фотожоп?
Guest
вот так это делается

http://genphys.phys.msu.ru/~dmitriyk/site/mv/pixels.html
Cheburashka
Стоооооооооооп! А покороче никак не получится? Мне надо-то только массив создать. Изменить его. А потом обратно загнать в рисунок. 198.gif
асоциальный психопат
Цитата(Cheburashka @ 23 октября 2005г. - 0:11)
С этого места можно поподробней про фотожоп?
*

сначала записываешь Action Script. то есть открываешь какую-нить фотку, в окошке Actions нажимаешь круглую красную кнопочку "запись", совершаешь операции над картинкой, потом жмешь на квадратную кнопочку "стоп". при необходимости, можешь в только что сотворенном Action'е внести необходимые исправления параметров, что-то добавить, что-то убрать.
не забываешь сохранить Actions под каким-нить именем.
после лезешь в меню File->Automate->Batch, выбираешь, какие картинки обрабатывать, выбираешь нужный Action и запускаешь процесс.

все интуитивно понятно, на крайняк есть help. (-:

ЗЫ: операцию открывания/закрывания очередной картинки можно прописать в Actions, а можно в Actions не прописывать, а делать это через Batch. по вкусу и по решаемой задаче.

Цитата(Guest @ 23 октября 2005г. - 0:12)
вот так это делается
*

Дмитрий Александрович, почему не подписываетесь? (-:
Guest
ща гляну, гдето было
Guest
покороче никак, ImageMagick'ом можно работать с около сотней форматов, допустим открываешь в одном формате, а пишешь в другом и т.п. нормальное API, короче, вобщем нельзя. то что я написал - под юникс и компилять его под юникс.

чтение и запись файла: http://observ.inetcomm.ru/images/read_write.html как компилировать под юнихами - написано в первой ссылке

на сайте http://www.imagemagick.org/ есть описание. вроде было, как запускать сию байду (сишный код должен быть одинаков что под виндой что под юнихами, по идее)...

p.s. ну неподписываюсь я, люблю быть анонимным юзером smile.gif
Guest
2 Cheburashka если на сях писать умеешь, то в последней ссылке создается три массива, глянь там комменты, далее рулишь их как хочешь и суешь затем в файл. если под винду - я тебе не помогу, т.к. под виндой не пишу, если под юнихами то обращайся сюда, например:

http://genphys.phys.msu.ru/~dmitriyk/gbook.shtml

или тут на форуме
Cheburashka
Еще и под юникс. resent.gif Это не честно! Я так не играю! resent.gif
асоциальный психопат
cygwin?

ЗЫ: только не говори, что ты под досом...
Cheburashka
Я правильно понимаю, что содержимое последней ссылки под виндой работать будет? Если да - то все круто!
Guest
2 Cheburashka ну иначе никак, нужно разбираться... хотя, имхо, имаджмаджик универсальная штука, должно и под виндой работать...
Cheburashka
2 асоциальный психопат: Смешная шутка. smile.gif
Cheburashka
Цитата(Guest @ 23 октября 2005г. - 0:52)
ну иначе никак, нужно разбираться... хотя, имхо, имаджмаджик универсальная штука, должно и под виндой работать...
*

Ага, буду разбираться. Спасибо! smile.gif
асоциальный психопат
Цитата(Cheburashka @ 23 октября 2005г. - 0:52)
2 асоциальный психопат: Смешная шутка.
*

ну я cygwin особенно не крутил, так, глянул несколько лет назад... поэтому и не знаю толком, что он из себя предстваляет... так что я и не шутил вовсе. ((-:

ЗЫ: гуглом еще UWIN ищется, так что попробуй гуглом поискать, мож еще чего нароешь...
freeneutron
Есть мощный пакет Сorel, работает с растровой и векторной графикой. В растре не уступает Фотошопу. И на сколько я знаю в фотошопе нет скриптового языка, а в Corel есть. И "скриптовый язык" - слабо сказано, там целый VisualBasic встроен, и поддерживаются, естественно, все функции из саомой программы. Если нет нывыков в VisualBasic, не беда, там нет ни чего сложного, а инструкция написана для военных, главное иметь навыки в ангийском. Такой же скриптовый язык встроен в MS Office и в AvtoCad, так что еще пригодиться не раз.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2016 IPS, Inc.