Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136

Консольная графика в Ubuntu

19.06.2013, 17:49. Показов 4355. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Итак, у меня снова возникла проблема. Нужно реализовать консольную графику. Прежде всего должно работать на G++ поскольку дома Ubuntu стоит. Желательно чтобы не использовалось никаких внешних библиотек (я их и ставить-то не умею Но не только в этом дело). Кроссплатформенности здесь, похоже, добиться не получится, поэтому придется делать таким образом: задавать в одной строчке какая операционка стоит (GNU/Win) и там по ходу дела... Или можно все сделать общими возможностями? Мне говорили писать в видеопамять, но я с этим не разобрался. Повторюсь, графика консольная, ничего особенного не требуется - точки (да, точки это главное), кружочки, полосочки и тому подобное. Есть оно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.06.2013, 17:49
Ответы с готовыми решениями:

Консольная графика
Доброго времени суток!!! Как под DOS рисовать примитивные обьекты линии, квадраты, круги? Для Turbo C++, Но если возможно то для C++...

Консольная графика
Наверное будет звучать грубо, но как мне нарисовать в консоли квадратик, выбрав его цвет и размер?

Консольная графика
консольная графика,дайте ссылку на статью илт еще че...

13
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
19.06.2013, 17:51
ANSI-драйвер. Еще с досовских времен остался. В винде его выпилили хз зачем, а в никсах он существует и по сей день. И цвет фона/курсора менять и курсор в нужное место устанавливать и многое, многое другое. Как windows.h, только проще.
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
19.06.2013, 17:52  [ТС]
Цитата Сообщение от MrGluck Посмотреть сообщение
ANSI-драйвер. Еще с досовских времен остался. В винде его выпилили хз зачем, а в никсах он существует и по сей день. И цвет фона/курсора менять и курсор в нужное место устанавливать и многое, многое другое. Как windows.h, только проще.
А с графикой (круги-линии-точки) работает? (И как оно вообще работает?)
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
19.06.2013, 17:59
Например так:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main()
{
    int a;
    std::cout << "Отрезок равен : ";
    std::cin >> a;
    std::cout << "\033[1A\033[KОтрезок равен : " << a << " см\n";
}
Добавлено через 49 секунд
Цитата Сообщение от k1-801 Посмотреть сообщение
круги-линии-точки
такого нет ( в нем)
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
19.06.2013, 18:07  [ТС]
Цитата Сообщение от MrGluck Посмотреть сообщение
Например так:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main()
{
    int a;
    std::cout << "Отрезок равен : ";
    std::cin >> a;
    std::cout << "\033[1A\033[KОтрезок равен : " << a << " см\n";
}
Добавлено через 49 секунд

такого нет ( в нем)
А мне нужна конкретно графика, а не форматированный текст...
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
23.06.2013, 19:36  [ТС]
Итак, меня видимо не поняли, поэтому повторюсь еще раз. Мне нужно перевести консоль GNU C++ в графический режим стандартными средствами (ну, и, соответственно, команды графического режима).
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
23.06.2013, 21:08
Цитата Сообщение от k1-801 Посмотреть сообщение
Желательно чтобы не использовалось никаких внешних библиотек (я их и ставить-то не умею
Цитата Сообщение от k1-801 Посмотреть сообщение
Мне говорили писать в видеопамять, но я с этим не разобрался.
Научитесь. Разберитесь. Вообще есть ncurses для псевдографики.
Цитата Сообщение от k1-801 Посмотреть сообщение
Мне нужно перевести консоль GNU C++ в графический режим
Это как?
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
23.06.2013, 21:53  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Научитесь. Разберитесь. Вообще есть ncurses для псевдографики.
Это как?
Мне ничего толком не объяснили. Я спрашивал насчет обычной графики (допустим,начертить график). Я как-то пробовал на АСМе писать (давно это было, тогда еще ноутбука не было и win был), ничего не запомнил, но консоль нормально разворачивалась на весь экран и чертила разноцветные точечки, я это довел до прямоугольника с треугольничком. Теперь мне надо сделать такое же, только не на win а на ubuntu и не на АСМ а на C++. Компилятор стандартный.
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
03.10.2013, 20:41  [ТС]
Поднимаю тему, вопрос не закрыт.
0
 Аватар для iRomul
163 / 104 / 14
Регистрация: 17.10.2012
Сообщений: 488
03.10.2013, 21:04
Поставить досбокс и использовать эти прерывания для переключения видеорежима?
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
03.10.2013, 21:04  [ТС]
Имеется примерное (исключительно примерное!!!) представление подобного под винду на ассемблере. Да, я пытался таки учить ассемблер)))
Assembler
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
text    segment
assume  CS:text,DS:data
 
begin:  mov AH,0h
    mov AL,10h
    int 10h
 
    mov AH,0Ch
    mov AL,00h
    mov BH,0
    mov CX,0
 
c3: inc AL
    mov BH,0
    mov CX,0
 
c2: mov DX,0
 
c1: int 10h
    inc DX
    cmp DX,350
    jne C1
    inc CX
    cmp CX,640
    jne C2
 
    cmp AL,0Fh
    jne C3
 
    mov AX,3
    int 10h
    
    mov AX,4c00h
    int 21h
 
text    ends
 
data segment
 
data ends
 
stk segment stack
        db  256 dup (0)
stk ends
 
end begin
Поскольку скачивать компилятор, настраивать его и компилировать это НЕЧТО вряд-ли кто-то будет, приложу то что выходит в итоге. Начиная с Vista не запускается. В Wine просто самозакрывается.
Примечание (что сам пытался выснить из кода):

В AX 10h прерывания 10h (прерывание BIOS, вот она, кроссплатформенность!) - перевести видеокарту в нужный нам графический режим.

В AH команда 0Ch прерывания 10h - собственно команда "ставить точку"
В AL цвет от 0 то 15
В CX и DX - координаты точки x и y соответственно.

Так вот, почему винда это умеет, а Ubuntu нет? Несправедливость -_-
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
03.10.2013, 21:27  [ТС]
Извиняюсь, не залилось в прошлый раз.
Вложения
Тип файла: zip compile.zip (517 байт, 7 просмотров)
0
 Аватар для k1-801
4 / 4 / 6
Регистрация: 07.01.2013
Сообщений: 136
05.10.2013, 23:25  [ТС]
Все еще актуально, поднимаю.
0
0 / 0 / 0
Регистрация: 25.02.2017
Сообщений: 1
25.02.2017, 03:24
Недавно искал ответ на этот вопрос, и вот что вычитал на одном из форумов: "В C++ вообще нет родной графики. Всё посредством сторонних (для языка) библиотек. Как-правило платформо-зависимых". Так что ПРИДЁТСЯ подключать сторонние библиотеки, например : libbmp (https://unixforum.org/index.php?showtopic=105122), ну или другие библиотеки для символьной графики (как в коде из книги Лафоре) . Хотя спустя СТОЛЬКО времени ответ на этот вопрос тебе вряд ли нужен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.02.2017, 03:24
Помогаю со студенческими работами здесь

Консольная графика
Доброго времени суток. Подскажите, как подключить консольную графику в visual studio 2013?

Консольная графика
Здравствуйте, я написал этот код в Борланд С++ (пример нашел в книге): #include &lt;graphics.h&gt; #include &lt;stdlib.h&gt; #include...

консольная графика
Помогите, пожалуйста, с графикой. Не выводит на экран рисунок. # include &lt;graphics.h&gt; # include &lt;conio.h&gt; # include...

консольная графика
задумал сделать карточную игру. надо чтобы информация оппонента выводилась с правой стороны окна. Мне придется все время курсор уводить...

Консольная графика С++
Сейчас пишу для экзамена покер на одного игрока. И столкнулся проблемой, при рисовании карт, они у меня рисуются одна под одной и по этому...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru