Как использовать графику в Visual Studio?

BumLiK

Проект создан как Win 32 console
Нужно построить график функции.
Возможно ли это? ЧТо надо подключать?

pilaf4

Нужно в консоли график построить? Если нет, то создавай графическое приложение и строй там.

k11122nu

Мне кажется, есть два самых простых способа (я использовал оба, хотя знаю несколько более изящных, но менее простых):
- выбрасывать данные в файл, а график строить отдельно. Ехелем, ориджином — чем привычнее;
- сделать гуевый проект и запихнуть в него твою программу. Я считаю этот способ более простым, потому что люблю гуевые штучки рисовать мышкой прямо в проекте и не париться, хотя все то же самое можно сделать и не в проекте, и без мышки.

pilaf4

Я не претендую на роль телепата, но если бы автор мог построить график в Excel / Origin / <ещё какой удобный инструмент>, он бы так и сделал.
Если нужно "рисовать" в консоли, т.е. работать с ней не как со стандартным вводом-выводом, то стоит обратить свой взор на функции работы с консолью. Если хочется заняться ч0рной магией, можно использовать порт ncurses под Windows.

BumLiK

В принципе мне без разницы где рисоваться будет.
Хочется только по меньше гемороиться.
У меня есть функция и отрезок на котором надо построить функцию.
Проект вычисляющий функцию сделан как Win 32 console application.
Собствено вопрос как затратить наименьшее кол-во усилий и нарисовать график?
Рисование должно использовать только функции Visual Studio, т.е. без сторонних Excele и прочего

pilaf4

Инструмент для рисования в Win32 API называется GDI. Хотя я бы использовал Qt и QPainter.

BumLiK

Т.е. надо писать
#include <gdi>
?
Есть пример какой-нибудь?

BumLiK

У меня же не оконный интерфейс.
Точно gdi можно использовать?

pilaf4

GDI работает только в оконном. Инклюдов и кода писать надо много. Что использовать в консольном режиме я уже написал. Определись, как именно тебе надо построить график, потому что "как проще" подсказать довольно сложно.

BumLiK

Определился. Надо консольный режим.
Зашел на сайт куда ты дал ссылку. Не нашел там функции нарисовать точку или линию :o

pilaf4

Зашел на сайт куда ты дал ссылку. Не нашел там функции нарисовать точку или линию
В консоли рисуют буквы :) Звёздочки там какие-нибудь, или квадратики.

BumLiK

Там все по английски написано :(
Я что-то плохо понимаю.
Есть там функция, которая позволяет идити в координаты (x,y) и нарисовать там звездочку :confused:

pilaf4

Делаешь сперва SetCursorPos, а потом WriteConsole. Если проблемы с языком, то придётся пообщаться с роботами.

BumLiK

SetCursorPos
Имеется ввиду SetConsoleCursorPosition ?
Не пойму какие там аргументы у этой функции. Первый аргумент типа Handle, это что вообще такое ?

pilaf4

Его возвращает GetStdHandle. Это то, что робот называет "консоль ручки"

BumLiK

Жестко это, конечно.
Еще глупый вопрос. Там второй параметр структура COORD.
Как ее создать? Или туда просто сразу писать можно?

pilaf4

да

BumLiK

"да" к чему относится? :)

pilaf4

К последнему вопросу. Создаётся структура так:
 COORD c; 

BumLiK

COORD xy;
.....
xy.X=30;
xy.Y=30;
SetConsoleCursorPosition(GetStdHandle(STD_INPUT_HANDLExy);
Так мы переведем курсор в позицию 30, 30?

pilaf4

Уважаемый товарищ , у тебя в руках есть мощный инструмент, причём не один. Это компилятор, причём не просто компилятор, а оптимизирующий компилятор языка C++ и по совместительству C. У тебя есть свободный доступ к интернетам, а ведь простому человеку на Кубе такое недоступно. Зачем переспрашивать обо всём на форуме, если можно попробовать сделать это самому?

BumLiK

Уважаемый товарищ , я очень ценю твою помощь.
Достаточно сложно разобраться в работе с консолью :)

BumLiK

Выражаю благодарность за помощь в моем проекте :)
Тему можно закрывать
Оставить комментарий
Имя или ник:
Комментарий: