6 / 6 / 2
Регистрация: 15.04.2010
Сообщений: 151
|
|
1 | |
Двумерная графика на C++09.09.2010, 16:43. Показов 19211. Ответов 19
Метки нет (Все метки)
поскажите как начать рисовать в с++ (линию окружность) какие библиотеки нужны ? прозьба показать робочий код где нарисовано несколько фигур(что нибудь простинькое чтобы разобраться) Спасибо!!!
0
|
09.09.2010, 16:43 | |
Ответы с готовыми решениями:
19
двумерная матрица Двумерная очередь (FIFO) Двумерная динамическая матрица Двумерная Случайная Величина |
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
|
|
09.09.2010, 17:04 | 2 |
Я тоже задавался этим вопросом но ответов не мог получить поэтому решил использовать OpenGL. Если у вас есть время, то можите почитать уроки по OpenGL.
Не по теме: Тут эта тема обсуждалась:
2
|
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
|
||||||
11.09.2010, 13:58 | 3 | |||||
Тут кое-что нарыл. Но там нужен либо компилятор Turbo C++ либо библиотека egavga.
Добавлено через 2 минуты
0
|
2 / 2 / 1
Регистрация: 08.09.2010
Сообщений: 10
|
||||||||||||||||
11.09.2010, 16:58 | 4 | |||||||||||||||
Я работал с графикой на Borland Cpp нужен graphics.h
Есть два примера, которыми могу поделиться: 1) Преобразование из мирового окна в порт просмотра
а вот еще нашел, рисование полигона.
1
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
|
11.09.2010, 18:42 | 5 |
какой ужас graphics.h! Дос наступает! А чем вам не угодил обычный GDI?
0
|
2 / 2 / 1
Регистрация: 08.09.2010
Сообщений: 10
|
|
11.09.2010, 18:44 | 6 |
Как научили на первом курсе так и писал. Проблема ВУЗов, не предлагают выбора.
1
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
||||||
11.09.2010, 19:22 | 7 | |||||
Сообщение было отмечено как решение
Решение
неужели не учили что есть такая ос windows и для графики в ней используется gdi32.dll(в простейшем случае, таком как этот). Создаешь окно и рисуешь в нем ислользуя апи. Хотя окно и не обязательно создавать - можно прям в консоли рисовать(она же тоже окно)), правда выгдядит несколько необычно))
4
|
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
25.04.2017, 17:50 | 8 |
Извините пожалуйста я скопировал ваш код в дев цпп но не компилится ошибка 32 C:\Users\Ïåðåö\Documents\dddd.cpp:14 'GetConsoleWindow' was not declared in this scope
Не подскажете что сделать чтобы таки заработало?
0
|
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
26.04.2017, 11:21 | 10 |
Да. Все тоже самое. вчера до трех ночи разбирался. Оказалось что команда GetConsoleWindow не работает но при этом принимает команды елипс и тд. Можно добавить строку(#define _WIN32_WINNT 0x0500) там перед инклудом она там вроде какую-то версию меняет тогда результат наоборот команды еллипс не принимает но GetConsoleWindow принимает прекрасно. В итоге вместо GetConsoleWindow пришлось использовать GetForegroundWindow(); и тогда что то заработало.
Вообще впечатляет конечно насколько недружественные нынче системы графики для программиста. Система типа: Создай окно создай дескриптор окна с дескриптора окна создай дескриптор видео потом с дескриптора видео создай кисть и ручку и потом оказывается что не тут то было. Не представляю в какой очарованный кодами разум могла прийти идея такого бутерброда по которому и справочника то толкового несыскать.Это еще вам не sdl даже не open gl и не директ. Почему вместо дефолтного пути с последующей настройкой тонкостей если надо сразу на голову сбрасывают вал настроек через которые хрен продерешься без поллитры чтобы строчку текста вывести на экран? Это всеравно как если пришол в супермаркет за колбасой а тебе говорят набери в сумки в се что есть в супермаркете а потом откидывай лишнее и приэтом научись управлять системой полета колбасы чтобы она не улетела из сумки.
1
|
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
26.04.2017, 11:40 | 12 |
wx devcpp 7.4.2 компилятор mingw версию невидно
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
26.04.2017, 11:49 | 13 |
Потому что квадратные колеса этого лисапета по задумке положено не программисту крутить а фреймверку. Берем толковый фреймверк (к примеру VCL - Борланд в плане интерфейсов всегда был очень дружелюбной зверушкой) там сразу все создано зададено и готово. рисуй в любом контроле аки в битмапке любую картину маслом.
0
|
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
26.04.2017, 11:53 | 15 |
да есть что то похожее. mingw32-gcc-4.6.1.exe.
На коде блоксе я кажется тоже пробовал. Попробую проверить как там работает.
0
|
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
26.04.2017, 14:46 | 17 |
Подключить компилятор не так уж просто надо тоже искать как это делается. В общем я скачал последнюю версию дев цпп
там установлен компилятор поновее Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup.exe Но все же ваш пример успешно прокомпилировался и заработал только тогда когда в параметры линкера добавил строку: -lgdi32 Вот как хитро получается. То есть выходит что если я захочу использовать какието другие возможности winapi из файла windows.h то прийдется какие-то еще строки в линкер добавлять и снова искать какие именно. Добавлено через 54 минуты Вот по выше преведенному коду кодеблокс версии 16.01 сходу выдаёт ошибку: | D:\Documents and Settings\Администратор\Рабочий стол\CODE BLOKS PROJECTS\ааааа\main.cpp|9|error: `GetConsoleWindow' undeclared (first use this function)| D:\Documents and Settings\Администратор\Рабочий стол\CODE BLOKS PROJECTS\ааааа\main.cpp|9|error: (Each undeclared identifier is reported only once for each function it appears in.)| ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===| Единственное что может быть не так это то что кодеблокс на экспихе установлен ане на семерке или какойто новой ос виндовс.
0
|
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
03.06.2020, 14:44 | 18 |
В общем получается вот так через годы возвращаемся к той же теме.
Вот что нужно cделать в codeblocks чтобы вышеприведённый код рисующий эллипс заработал: 1) Добавить в параметры линкера команду: -lgdi32 это можно сделать глобально для всех проектов : лезем в настройки кодеблокса сюда: setings -> compiler ->linker setings -> other linker options или только для текущего проекта: project ->buil options ->->linker setings -> other linker options 2) в код вашей программы добавить вот эти две строки( вторая строка по-моему уже там была): #define _WIN32_WINNT 0x0500 #include<windows.h> И по прежнему я настаиваю что любая библиотека будь то директ опен жл и эс кью эл обязательна должа иметь возможность простого использования с дефолтными настройками , а кому надо пусть допиливает специальными более далёкими от простого пользователя командами и настройками. Ато получается что прежде чем использовать автомобиль выберите для него колёса сиденье двигатель и настройте карбюратор. Получается что всем плевать на все те заявления о инкапсуляции которыми коцают мозги студентам.
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
03.06.2020, 14:52 | 19 |
0
|
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
04.06.2020, 20:46 | 20 |
Ещё нет. Я в очередной раз захотел что-то нарисовать и снова оказался голяк в интернете и по поиску выхожу на собственные же вопросы . И поверьте так бывает регулярно. Информация со временем не становится яснее и доступнее.
0
|
04.06.2020, 20:46 | |
04.06.2020, 20:46 | |
Помогаю со студенческими работами здесь
20
Двумерная матрица без For Двумерная трехкомпонентная экологическая модель Двумерная матрица путей городов Двумерная матрица из среднего арифметического Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |