Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Графика под DOS в С++

20K
31 января 2007 года
CodeV
4 / / 04.10.2006
Как можно в DOS приложениях на С++ выводить низкоуровневую графику, кружки, квадратики, окошки, и т. д. И примерчик если можно. :rolleyes:
361
31 января 2007 года
Odissey_
661 / / 19.09.2006
я бы посоветовал библиотеку allegro, на ней еще то ли первый doom, то ли первый quake написан был.
7.6K
31 января 2007 года
Darien
125 / / 15.01.2006
Достань Borland C++ 3.1, он это прекрасно умеет. вся графика работает аналогично Turbo Pascal'u. InitGraph там, LineTo итд.
20K
31 января 2007 года
CodeV
4 / / 04.10.2006
А есть какая-то библиотека входящая в состав Visual C++. allegro я у себя не нашел.
294
31 января 2007 года
Plisteron
982 / / 29.08.2003
Цитата: Odissey_
я бы посоветовал библиотеку allegro, на ней еще то ли первый doom, то ли первый quake написан был.

Как ни странно, довольно быстрая и удобная в использовании библиотека -- BGI. Так что, если используется Borland C++ (или Turbo) или TopSpeed C++, то можно не заморачиваться, а взять её. Только надо поискать в необъятном Тырнете bgi-интерфейсы для VESA-режимов от третьих производителей, ибо в стандартной поставке Borland C++ ничего круче 16-цветного 648*480 не предусмотрено.

294
31 января 2007 года
Plisteron
982 / / 29.08.2003
Цитата: CodeV
А есть какая-то библиотека входящая в состав Visual C++. allegro я у себя не нашел.

Так Visual C++, начиная, afair, с третьей версии, вообще под DOS код не генерит. Можно ещё поискать библиотеку DrHalo или Conner Scientific Graphics (кажется, так её звали), но они довольно старые и вряд ли поддерживают современные TrueColor режимы.

17K
01 февраля 2007 года
kilowatt
27 / / 13.01.2007
Есть ещё библиотека Winbgim. Абсолютно теже функции, что и в graphics.h для Borland 3.1. Ещё есть несколько новых для работы с BMP. Работает с TrueColor. Она для windows приложений. Эту библиотеку можно привинтить к Bcc 5.5.1. С помощью неё я писал свой Paint. Есть в исходниках на сайте.
294
02 февраля 2007 года
Plisteron
982 / / 29.08.2003
Цитата: kilowatt
Она для windows приложений.

Человек под DOS просил.
А под Windows круче GDI WinAPI только DirectX API (вестимо, по скорости; по удобству IMHO круче графика в QT).

252
02 февраля 2007 года
koderAlex
1.4K / / 07.09.2005
как вариант можно самому наваять :) .
17K
02 февраля 2007 года
kilowatt
27 / / 13.01.2007
Цитата: Plisteron
Человек под DOS просил


Прошу прощения. Не внимательно читал.

492
03 февраля 2007 года
alibabaich
238 / / 08.07.2004
Цитата: CodeV
Как можно в DOS приложениях на С++ выводить низкоуровневую графику, кружки, квадратики, окошки, и т. д. И примерчик если можно. :rolleyes:

Брр а можно риторический вопрос? Неужели после официальной смерти линейки М$ 9х, кто-то пишет под ДОС? Зачем?

1
03 февраля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: alibabaich
Брр а можно риторический вопрос? Неужели после официальной смерти линейки М$ 9х, кто-то пишет под ДОС? Зачем?


Большая просьба не флудить. Вопрос о том пишет ли сейчас кто либо под ДОС - или же нет, явно находится за пределами данной темы. Тоже самое касается рекомендаций о возможности написать библиотеку самому :)
К аффтору просьба более конкретно сформулировать вопрос - речь идет именно о приложении совместимом с DOS 3-7 версии или все таки имеется ввиду консольное приложение для линейки 2К-ХР? Т.е. обозначьте нижнюю границу. И что вы пытались использовать до того как задали вопрос на форуме?

20K
03 февраля 2007 года
CodeV
4 / / 04.10.2006
Ну в общем понятно, надо использовать "Turbo Pascal" или что-то наподобии :) меньше гемороя будет.

Цитата:
...речь идет именно о приложении совместимом с DOS 3-7 версии или все таки имеется ввиду консольное приложение для линейки 2К-ХР?


Я имел ввиду консольное приложение. Короче надо была базы данных, только с интерфейсом как у "Norton Commander", "Far"

1
03 февраля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: CodeV
Ну в общем понятно, надо использовать "Turbo Pascal" или что-то наподобии :) меньше гемороя будет.


Я имел ввиду консольное приложение. Короче надо была базы данных, только с интерфейсом как у "Norton Commander", "Far"


Дык это немножко две большие разницы. :)
Пороюсь у себя по архивам - если найду - выложу, по памяти к сожалению не помню. Да и если порыть инет - простейшие примеры найти не проблема даже на этом сайте помоему.

23K
07 февраля 2007 года
CyberManiac
9 / / 02.02.2007
Уважаемые, у меня тоже есть вопрос.
Я нашёл как под дос сохранять изображение в переменную( стандартные операции с++).
Код:
void save_screen(void far *buf[20])
{
   unsigned size;
   int ystart=0, yend, yincr, block;

   yincr = (getmaxy()+1) / 20;
   yend = yincr;
   size = imagesize(0, ystart, getmaxx(), yend);
/* get byte size of image */

   for (block=0; block<=19; block++)
   {
      if ((buf[block] = farmalloc(size)) == NULL)
      {
     closegraph();
     printf("Error: not enough heap space in save_screen().\n");
     getch();
     exit(1);
      }

      getimage(0, ystart, getmaxx(), yend, buf[block]);
      ystart = yend + 1;
      yend += yincr + 1;
   }
}

void restore_screen(void far *buf[20])
{
   int ystart=0, yend, yincr, block;

   yincr = (getmaxy()+1) / 20;
   yend = yincr;

   for (block=0; block<=19; block++)
   {
      putimage(0, ystart, buf[block], COPY_PUT);
      farfree(buf[block]);
      ystart = yend + 1;
      yend += yincr + 1;
   }
}

Но как мне записать изображение в .bmp?
//---------------------------------------------------------------

А если не разобрался как рисовать примитивы под дос так подключаешь ghraphics.h и bgi библиотеки(они должны быть в борланде или где ты там пишешь). А в встроеном хелпе о ghraphics.h можно уже узнать о всех функциях.
294
09 февраля 2007 года
Plisteron
982 / / 29.08.2003
Цитата: CyberManiac
Но как мне записать изображение в .bmp?

Описание формата Windows BMP (не путать с OS/2 BMP):
http://ru.wikipedia.org/wiki/BMP
http://edu.internet-academy.org.ge/courses/introduction_to_speciality_2/com_gr/graphics/formats/BMP_for_Windows_3.html
http://free-referat.ru/referats/komputeri_i_programi/id3392/
http://jenyay.net/index.php?id=bmp
Все ссылки об одном и том же, но разными словами.

Если хочется сохранять сжатую графику, то, имхо, надо копать в сторону PNG (но это очень долго копать надо):
http://ru.wikipedia.org/wiki/PNG
http://www.libpng.org/pub/png/
http://rus-linux.net/zen/png_feature/png_feature.html
http://emanual.ru/get/1297/
http://www.libpng.org/pub/png/vince-sabio-png-review-1.2.2.txt
http://www.libpng.org/pub/png/spec/

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог