Всем привет! Я немогу найти инфу как работать с графикой на C++, мне нужно узнать как переводить в графический режим, как рисовать точки, линии, прямоугольники и эллипсы. Программа должна работать под ДОС. Подскажите статью/е-book по теме. Спасибо!
DOS? Ну даже сложно сказать возможно ли такое! Тут разве что символы ASCII использовать для рисования линий и других объектов, а функции скорее ручками писать придется. Все же в С++ вряд ли такое предусмотрено, ведь рисование в винде - это использование API самой винды и ее библиотек. DOS такой роскошью не обладает.
Хм Вот помню в молодости в бейсике были всякие line, circle и тд и рисовалось нормально. Неужели в СИ такого нету? В досе в смысле в консоли рисовать.
Вроде такого не видел. В детстве у меня была платформа ZX-Spectrum там на бейсике действительно рисовать хорошо, но это бейсик. Ни в одном учебнике по Си такого не видел, только DirectDraw.
Под BCC5.5.1 юзал библиотеку winbgim.h. Тоже самое + несколько функции для работы с BMP. Ну только это не для DOS
Можно вообще красиво сделать, переключаться в нужный графический режим вызовом прерывания, а далее напрямую в графическую память писать (ну не прямо в графическую, а в оперативную, которая на графическую отображается). Самы простой режим - 320х240 8бит на пиксел. Задаешь там сначала палитру, а потом байты по нужным адресам меняешь. Помню игрался очень давно, увлекался демо-сценой. Написал даже под дос 3х мерный графический редактор небольшой, из точек и полигонов. А потом рендерил, с текстурой и освещением. Ну а если надо красивые картинки в большом разрешении - использую переключение граф. буферов. Хотя, если там не сложная графика - можно и стандартными ф-ями типа line/circle.
2offtop ftp://ftp.scene.org и http://scene.org и по ссылкам оттуда. 2Span: А если делать по-вашему, на ассемблере не проще будет? 2Darkcoder Про графику хорошо написано в справке к BCPP 3.1, сам учился по ней. Если хотите SVGA/VESA режимы пользовать, есть здесь, правде неофициальные (сам пока не пробовал) http://coop.chuvashia.ru/kartuzov/mgr/drivers.htm