Форум программистов, компьютерный форум CyberForum.ru

Работа с графикой - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 148, средняя оценка - 4.89
broked
1 / 1 / 0
Регистрация: 30.09.2009
Сообщений: 4
30.09.2009, 14:44     Работа с графикой #1
Доброго времени суток ув. форумчане.
Вобщем так, я еще совсем новичок, пытаюсь написать программу, задача ее в том чтобы выводить на экран текст нужного цвета. Работаю в Dev C++. Сначала проблема была в том что там отсутствовала графическая библиотека graphics.h, я ее нашел и установил. А теперь я не могу понять как заставить программу вывести текст и придать ему цвет, так как рисовать получается.
Лопачу интернет какой день не могу найти ничего дельного, так как в Dev почти никто не работает.
Или может я не так запрос формулирую?
Вобщем вот так, жду ваших ответов.
Приведу код программы, может там не так что-то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <graphics.h>
main(void)
{ 
int dr=DETECT,md;
initgraph(&dr,&md,"");
for (int i=1;i<=9;i++)
{
setcolor(i);
//вот тут по идее должен быть текст планировал выводить с помощью функции printf,
//но так не работает,может есть какой нибудь другой оператор для этого?
}
return 0;
}
Прошу сильно не казнить.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2009, 14:44     Работа с графикой
Посмотрите здесь:

Работа с ГРАФИКОЙ C++
РАБОТА С ГРАФИКОЙ C++
C++ Работа с графикой
C++ работа с графикой
C++ Работа с графикой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2218 / 733 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
30.09.2009, 14:49     Работа с графикой #2
Предлагаю забыть про библиотеку graphics.h, которая безнадежно устарела и вообще использовалась только борландом для борландовского же досовского компилятора.
Вместо этого можно начать с #include <windows.h> и разобраться,как работать с окнами и GDI. Некоторые основы,без деталей,есть в книгах Ламота.
broked
1 / 1 / 0
Регистрация: 30.09.2009
Сообщений: 4
30.09.2009, 14:58  [ТС]     Работа с графикой #3
На счет смены среды не совсем желательно так как преподают именно в ней и работаем мы тоже в ней((
А на счет книжек можно по подробнее, пожалуйста?

А вообще по скольку работаю с консольным приложением, можно ли прямо в консоли менять цвет текста или всетаки придется с графикой разбираться? Так как где-то видел что можно но опять же не для моей среды.
Search..
Заказ софта
 Аватар для Search..
338 / 183 / 10
Регистрация: 26.05.2009
Сообщений: 863
30.09.2009, 15:04     Работа с графикой #4
Библиотека: windows.h
Установить цвет текста: SetTextColor(HDC hDC, COLORREF color);
Вывод текста, например: DrawTextA(HDC hDC, LPCSTR text, int nCountSymbol, LPRECT &rect, UINT format);
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2218 / 733 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
30.09.2009, 15:05     Работа с графикой #5
broked, для работы с BGI(graphics.h) придется ставить борландовскую синенькую среду(Borland C++ 3.1 вроде) Там же есть подробный хелп по этой либе(F1). Вполне возможно,что можно перетащить всю либу в Dev, но неизвестно,возможно ли это,да и практического толка от этого ноль)

книга Андрэ Ламота - Программирование игр для Windows. Она тоже несколько устарела..и,все же,менее, чем этот graphics.h. Но при работе с BGI она тебе ничем не поможет,это так,для самообразования можно полистать.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
30.09.2009, 15:38     Работа с графикой #6
дайте мне тоже чего-нить сказать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГІ öâåò ГІГҐГЄГ±ГІГ* ГЁ ïîäëîæêè Гў ГЄГ®Г*ñîëè
 
#include <iostream>
#include <Windows.h>
using namespace std;
 
 
enum ConsoleColor
{
    Black         = 0,
        Blue          = 1,
        Green         = 2,
        Cyan          = 3,
        Red           = 4,
        Magenta       = 5,
        Brown         = 6,
        LightGray     = 7,
        DarkGray      = 8,
        LightBlue     = 9,
        LightGreen    = 10,
        LightCyan     = 11,
        LightRed      = 12,
        LightMagenta  = 13,
        Yellow        = 14,
        White         = 15
};
 
// ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГІ öâåò ГІГҐГЄГ±ГІГ* ГЁ ïîäëîæêè Гў ГЄГ®Г*ñîëè
void SetColor(int text, int background)
{
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
 
// ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГІ öâåò ГІГҐГЄГ±ГІГ* ГЁ ïîäëîæêè Гў ГЄГ®Г*ñîëè 
void SetColor(int text, ConsoleColor/*int*/ background)
{
   HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
   SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
 
int main()
{
   for (int i = 0; i < 15; i++)
   {
      for (int j = 0; j < 15; j++)
      {
         SetColor( i, Red);
         cout << "       Hello!!!!      ";
         SetColor( 15, j);
         cout << "   [" << i << "][" << j << "]\n";
      }
   }
   system("PAUSE");
   return 0;
}
broked
1 / 1 / 0
Регистрация: 30.09.2009
Сообщений: 4
30.09.2009, 23:26  [ТС]     Работа с графикой #7
Ураа!!!! Спасибо всем,особенно TanT, то что нужно, огромнейшее спасибо!!!
Тему можно закрывать.
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
01.10.2009, 10:51     Работа с графикой #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
все функции в библиотеке графикс в dev так если еще надо конечно:
http://www.cs.colorado.edu/~main/cs1300/doc/bgi/
установка графикс в dev:
http://kpolyakov.narod.ru/school/c/faq.htm
-=ЮрА=-
Заблокирован
Автор FAQ
01.10.2009, 12:28     Работа с графикой #9
broked , погляди мою програмку в VS 6.0
Как раз этой теме была посвященна одна из лаб по ВТ у нас в универе (ааа как же давно это было...)

PS:Для корректной работы нужны библиотеки nafxcw.lib (Release) и nafxcwd.lib (Debug), они есть в любом SDK или просто в нете скачай иначе компилятор ругаться наверно будет...
Миниатюры
Работа с графикой  
Вложения
Тип файла: rar shema_1_console.rar (5.7 Кб, 198 просмотров)
broked
1 / 1 / 0
Регистрация: 30.09.2009
Сообщений: 4
01.10.2009, 18:13  [ТС]     Работа с графикой #10
Цитата Сообщение от breeve Посмотреть сообщение
все функции в библиотеке графикс в dev так если еще надо конечно:
http://www.cs.colorado.edu/~main/cs1300/doc/bgi/
установка графикс в dev:
http://kpolyakov.narod.ru/school/c/faq.htm
да да да да отсюда и качал библиотеку, спасибо за список функций)

Добавлено через 1 минуту
Всем еще раз огромное спасибо,и повторюсь, тему можно закрывать)
wovec
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 5
20.11.2012, 22:02     Работа с графикой #11
Народ,а у меня такой вопрос по этой библиотеке:какую функцию необходимо взять,чтобы запоминало то,что было нарисовано ранее и выводило все на один экран?Можно в ЛС
седьмой
Заблокирован
17.08.2016, 14:49     Работа с графикой #12
Цитата Сообщение от Search.. Посмотреть сообщение
Библиотека: windows.h
это наверно графика под виду? А на линуксе чем можно порисовать в коде С?
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
17.08.2016, 17:02     Работа с графикой #13
Цитата Сообщение от седьмой Посмотреть сообщение
А на линуксе чем можно порисовать в коде С?
вариант 1 - для слабых - https://www.x.org/docs/X11/xlib.pdf Там поищите "Chapter 8 \n Graphics Functions".
вариант 2 - для смелых - https://www.khronos.org/opengl/
вариант 3 - для задротов - https://www.khronos.org/vulkan/
седьмой
Заблокирован
17.08.2016, 18:13     Работа с графикой #14
Задроты это кто вы имели в виду, типа хакеров? Слабые это те кто работает на си с нуля, смелые это те кто посильнее (наверно вы себя имели в виду), а задроты это те, кто может все и на винде писать и на андроиде и уж тем более на линуксе, так примерно вы имели в виду?

Добавлено через 4 минуты
Для слабых которая Xlib - она только под виндой работает или на линуксе тоже?

Добавлено через 3 минуты
Для вас которая - OpenGL - кажется кросплатформенная , на линуксе должна работать и функций много, вроде бы около 300, наверно хватит для начала, спасибо за информацию.

Добавлено через 3 минуты
ООО... а третья еще интереснее она для API , c чистым си будет работать под линуксом? , не ужели вы себя задротом назвали, ну да высокая у вас самооценка, мне понравилось, спасибо огромное за информацию, буду читать, интересно...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2016, 20:37     Работа с графикой
Еще ссылки по теме:

Работа с графикой в СИ++ C++
Работа с графикой C++
Работа с графикой C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
17.08.2016, 20:37     Работа с графикой #15
Xlib работает только под линуксами https://ru.wikipedia.org/wiki/Xlib
Opengl и vulkan - можно назвать кроссплатформенными.

Xlib(1) - если вы ищите "на чем нарисовать лабу" в линуксе и вы никогда не видели кода - то используйте его.
Vulkan(3) - если вы желаете стать супер-пупер(настолько супер, что просто космос, на выходных новый крайзис клепать например) разработчиком и у вас есть несколько лет свободного времени(в зависимости от навыков) то вам сюда. Сегодня вулкан еще паршиво работает.
OpenGl(2) - во всех остальных случаях вам сюда - в зависимости от навыков и желаний выбираете версию OpenGl
1(аля XLib(лабы)),
2(Качественные платформеры, гуи, хорошее такое хобби),
3(srysis который был, хорошее такое хобби),
4+(srysis который будет, хорошее такое хобби).
Yandex
Объявления
17.08.2016, 20:37     Работа с графикой
Ответ Создать тему
Опции темы

Текущее время: 16:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru