С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 120, средняя оценка - 4.88
LVV
94 / 91 / 21
Регистрация: 15.02.2010
Сообщений: 369
#1

Графика в консоли - C++

16.12.2012, 09:09. Просмотров 20678. Ответов 27
Метки нет (Все метки)

Существует ли возможность реализовать графику в консольных приложениях С++ с использованием стандартных библиотек. (без создния собственных библиотек, классов и прочее)?
Например, чтобы для изображения линии использовалось что-то вроде line(x1,x2,y1,y2)
P,S. среда Visual Studio или Code Blocks.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 09:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Графика в консоли (C++):

Графика в консоли - C++
Помогите разобраться с графикой в консоле. компилирую код в Dev C++ #include <iostream> #include <windows.h> int main(){ ...

Графика в консоли - C++
Здравствуйте, подскажите пожалуйста, можно ли в консоли с++ устроить графический интерфейс небольшой, например, расстоновка знаков в...

Построение графика функции в консоли - C++
Привет всем Задание такое - построить график функции |y| = |sin(x)| + cos(x) Вся сложность заключается в том что график должен быть...

Постройка графика по точкам в консоли Dev C++ - C++
Задание стоит так - разработка класса "Построение интерполяционного полинома" с использованием разных видов конструкторов. Я написал...

Клавиши F1-F12 в консоли, и работа с мышкой в консоли - C++
Я искал на сайте, но не нашел упоминания о том как обрабатывать и или узнавать где находится курсор мышки (и еще мне надо бы узнать нажатие...

считывание с консоли ( не с клавы, а именно с консоли) - C++
нужно написать функцию которая возвращает string в котором написано 500 символов которые были выведены в консоли от начала. среда :...

27
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
16.12.2012, 09:53 #2
В консоли вроде нельзя. В Qt SDK есть встроенная библиотека QPainter. Там и рисуй (только не в консоли)
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
16.12.2012, 10:27 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <windows.h>
int main(){
    POINT op;
    HWND hWnd=GetConsoleWindow();
    HDC hDC=GetDC(hWnd);
    SelectObject(hDC,GetStockObject(WHITE_PEN));
 
    MoveToEx(hDC,50,50,&op);
    LineTo(hDC,100,200);
 
    ReleaseDC(hWnd,hDC);
    std::cin.get();
    return 0;
}
8
LVV
94 / 91 / 21
Регистрация: 15.02.2010
Сообщений: 369
16.12.2012, 11:11  [ТС] #4
Спасибо, Croessmah.
Правда, сложновато будет новичкам это втолкнуть в теме "создание рисунков циклическим повторением графических примитивов". Но попробую.
Не хочется ради этой одной темки Паскаль или Бейсик задействовать.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
16.12.2012, 11:26 #5
Цитата Сообщение от LVV Посмотреть сообщение
"создание рисунков циклическим повторением графических примитивов"
покажите им квадрат или треугольник(ковер, салфетку) Серпинского.

Их можно достаточно ясно описать без использования программирования вовсе
0
LVV
94 / 91 / 21
Регистрация: 15.02.2010
Сообщений: 369
16.12.2012, 11:32  [ТС] #6
Цитата Сообщение от Croessmah Посмотреть сообщение
можно достаточно ясно описать без использования программирования вовсе
Ну, смысл как раз в программировании и заключается. Циклы + графика: интересней для изучения, чем на одних вычислениях циклы "оттачивать"...
1
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.12.2012, 12:39 #7
LVV, я бы OpenGL юзал.
2
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
16.12.2012, 12:54 #8
Croessmah, А можно сделать так чтобы линия не пропадала когда консоль сворачиваешь? Чтобы перерисовка была
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.12.2012, 13:13 #9
v.a.l.i.d, В обработчике событий добавить в WM_PAINT перерисовку.
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
16.12.2012, 14:23 #10
Цитата Сообщение от go Посмотреть сообщение
В обработчике событий добавить в WM_PAINT перерисовку.
А как это сделать?
0
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
16.12.2012, 19:08 #11
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
#include <iostream>
#include <windows.h>
Иногда нужно
C++
1
2
3
#define _WIN32_WINNT 0x0500 
#include <iostream>
#include <windows.h>
иначе может возникнуть ошибка error C3861: 'GetConsoleWindow': identifier not found
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
16.12.2012, 20:10 #12
Цитата Сообщение от daslex Посмотреть сообщение
Иногда нужно
Специально для Вас: MSDN. Изменение WINVER и _WIN32_WINNT
И если уж на то пошло, то _WIN32_WINNT_WIN2K, а не 0x0500
А лучше пишите тогда под DOS
1
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
16.12.2012, 20:42 #13
Цитата Сообщение от Croessmah Посмотреть сообщение
Специально для Вас

Не по теме:

ну не только для меня. будут люди, которые с этим столкнутся еще.

0
skynet120
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 76
01.09.2013, 15:14 #14
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <windows.h>
int main(){
    POINT op;
    HWND hWnd=GetConsoleWindow();
    HDC hDC=GetDC(hWnd);
    SelectObject(hDC,GetStockObject(WHITE_PEN));
 
    MoveToEx(hDC,50,50,&op);
    LineTo(hDC,100,200);
 
    ReleaseDC(hWnd,hDC);
    std::cin.get();
    return 0;
}
кто может рассказать как оно работает, буду очень благодарен
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
01.09.2013, 15:18 #15
Если просто
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <windows.h>
int main(){
    POINT op;
    HWND hWnd=GetConsoleWindow(); //Получаем дескриптор окна консоли
    HDC hDC=GetDC(hWnd); //Получаем контекст устройства по полученному дескриптору
    SelectObject(hDC,GetStockObject(WHITE_PEN)); //Выбираем перо WHITE_PEN в контекст
 
    MoveToEx(hDC,50,50,&op); //Ставим текущую точку в координаты 50,50
    LineTo(hDC,100,200); //Рисуем линию из текущей точки в точку 100, 200
 
    ReleaseDC(hWnd,hDC); //"Освобождаем" контекст
    std::cin.get();
    return 0;
}
1
01.09.2013, 15:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2013, 15:18
Привет! Вот еще темы с ответами:

Имитация консоли ? - C++
Форумчане, вечер добрый. В общем решил в одну конторку устроится. Получил тестовое. Но днём был занят и потому не имел возможности...

Кириллица в консоли - C++
Пишу простенькую программу: #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Это моя первая C++ программа.&quot;; ...

Вывод в консоли - C++
//12.cpp #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; void starline(); ...

Атрибуты консоли в C++ - C++
С++ Win32 Console Application. Компилятор - Microsoft Visual Studio C++ 2005 Как при компилировании задать параметр для консоли,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.