![]() |
|
Модераторы: bsa |
![]()
|
|
| Frostya |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.5.2009 Где: Russia, Saint-Pet ersburg Репутация: нет Всего: нет |
Доброго времени суток!
Хочу написать вот такую небольшую прогу: Пользователь выбирает любую картинку, а программка делает с ней такой эффект, чтобы картинка сначала "сгнила", а потом превратилась в труху. Пишу на языке Си под DOS в Borland С++ 3.1. Под винду писать не умею пока. Вопрос 1: Как вставить картинку в прогу? Какая функция это делает? (если такая есть для ДОСа). Как я понимаю, должна быть такая функция, которая берёт картинку и вставляет её в массив в формате 3 байта на пиксел (R-G-B).. Вопрос 2: Чтобы сделать такой эффект, мне сказали пользоваться фильтрацией изображения и увеличением контраста. Так вот, если кто подскажет, где найти информацию об алгоритмах данных эффектов, буду оч признателен. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
пиши под винду
|
|||
|
||||
| Frostya |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.5.2009 Где: Russia, Saint-Pet ersburg Репутация: нет Всего: нет |
GoldFinch, не-а, не катит.. мне под ДОС надо..
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
Image Processing Fundamentals |
|||
|
||||
| Wolf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 9.6.2006 Где: Нижневартовск Репутация: нет Всего: нет |
Frostya, тебе придётся попрограммировать на языке ассемблера. По крайней мере делать вставки. Потому что BGI наврядли тебе подойдёт. Там вроде индексная палитра и низкая скорость. Почитай описание формата bmp. А готовых функций нет и быть не может. Под дос то...
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
Не нужно ассемблерых вставок
Разберись с форматом файла bmp - придётся грузить вручную Есть функции getimage() putimage() - разберись в каком формате они сохраняют картинку, т.е. считай bmp, попиксельно выведи на экран, вызови getimаge, буфер сохрани в файл и разберись как он сохраняется (формат простой, но зависит от графического режима) Во второй версии программы используй putimage для вывода изображения. |
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
ну раз это чье-то имя, то извольте писать его с заглавной буквы - язык Ассемблера |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
Ассемблер - это не чьё-то имя, это программа, которая транслирует программу на языке ассемблера в объектный код. Для каждого процессора свой язык ассемблера (и соответственно ассемблер), а для x86 даже несколько: от Intel, Micrrosoft, Borland и GNU gas. |
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
в таком случае учите русский язык ЗЫЖ тем, кто ставит минусы - тот-же совет - учите русский язык Это сообщение отредактировал(а) J0ker - 10.5.2009, 20:25 |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
J0ker,
Я громадный любитель всего низкоуровневого, начинал с debug.com в маш.командах, продолжил tasm-ом, пересел на masm32 и потом на fasm , кажется это всерьез. Это к тому, что хоть как-то могу говорить и утверждать, что языка Ассемблер нет в природе ). Более того, это все равно что сказать язык MS Visual Studio 2008 Team Suite ) . Ассемблер это транслятор из мнемокода(совокупность мнемоник) в объектный код и только!!! А уж далее файлы с объектным кодом обрабатываются линкером. Еще раз замечу, выражение "язык ассемблера" имеет право на жизнь, а "Язык программирования Ассемблер" нет .) |
|||
|
||||
| Static |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 6.11.2008 Репутация: нет Всего: 2 |
Был согласен с J0ker'ом, но, справедливости ради, полез в википедию... Удивился. Конечно, вики - не истина в последней инстанции, но все же. --------------------
Я не настолько безнадежен, как кажется... |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Frostya, зря была выбрана эта задача, так как под ДОС будут серьезные проблемы. Например: 1. стандартная библиотека BGI не позволяет использовать более 256 цветов, а в разрешении 640х480 (максимальное) - только 16 2. 24-х битная картинка размером 640х480 займет в памяти 900КБ. При том, что доступная для ДОС память 640 КБ. А твоя программа может использовать и того меньше, при том, что выделить кусок памяти объемом более 65535 байт для тебя будет очень нетривиальная задачка (хотя и можно это сделать). |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
Если не хватает 640К - есть DPMI-расширители, позволяющие использовать всю память компьютера. Вместо BGI можно использовать другую графическую библиотеку. Но тогда программа будет работать только под DOS.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
math64, для использования DPMI нужно другой компилятор использовать, не так ли?
Я думаю, что есть два решения проблемы: смена ОС и смена задания. |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |