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

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

19.06.2013, 17:49. Показов 4419. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru