Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
11 / 10 / 3
Регистрация: 15.11.2015
Сообщений: 250

Linux графический режим

03.10.2019, 15:18. Показов 1726. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, возможно в Unix создать графический режим для программирования графических примитивов.
На подобии DOS, когда создаем графический режим.
Т.е сделать тоже самое как в примере, но только для Unix ?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <dos.h>
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
int driver=DETECT, mode;
int x=10;
 
initgraph(&driver,&mode,"C:\\Borland\\BORLANDC\\BGI");
 
line(250,0,250,500);
outtextxy(70,150,"STATIC  TEXT");
outtextxy(70,200,"VVOD  DOPUSKOV");
}
 
getch();
 
closegraph();
 
return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2019, 15:18
Ответы с готовыми решениями:

графический режим
Подскажите пожалуйста, как программируя в dev cpp получить цвет заднего фона в графическом режиме? Какой функцией?

Графический режим
Помогите пожалуйста, вот эта штука нужна в графическом режиме 800*600(( в ассемблере плохо разбираюсь :gcray: сдавала лабы всегда по...

Графический режим С++
помогите построить четирехугольную пирамиду в графическом режиме

8
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
03.10.2019, 16:24
Так же как и в Борланде - использовать сторонние библиотеки. SDL, OpenGL и т.п.
0
2490 / 1154 / 709
Регистрация: 25.04.2016
Сообщений: 3,321
30.10.2019, 03:46
maxika, пример графики на SDL2:
C
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <SDL2/SDL.h>
#include <stdio.h>
 
int main (int argc, char* argv[]) {
    SDL_Window *window = NULL;
    SDL_Renderer *render = NULL;
 
    // инициируем графическую подсистему SDL2
    if ( SDL_Init(SDL_INIT_VIDEO) < 0) {
        fprintf(stderr, "Can't init SDL2: %s\n", SDL_GetError());
        return 1;
    }
 
    // создаем окно:
    window = SDL_CreateWindow(
        "Title",                        // заголовок окна
        SDL_WINDOWPOS_UNDEFINED,        // начальная позиция окна по x
        SDL_WINDOWPOS_UNDEFINED,        // начальная позиция окна по y
        640,                            // ширина окна в пикселях
        480,                            // высота окна в пикселях
        SDL_WINDOW_OPENGL               // дополнительные флаги
    );
    if (window == NULL) {
        fprintf(stderr, "Couldn't create window: %s\n", SDL_GetError());
        return 1;
    }
 
    // создаем область, в которой будем рисовать
    render = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
    if (render == NULL) {
        fprintf(stderr, "Can't create renderer: %s\n", SDL_GetError());
        return 1;
    }
 
    // Окно открыто, можно рисовать
    SDL_Rect rect1 = {10, 10, 50, 50};      // координаты прямоугольников
    SDL_Rect rect2 = {100, 100, 40, 40};    // start_x, start_y, width, height
    SDL_Event e;                            // событие
    int next = 1;
 
    while (next > 0) {
 
        if ( SDL_PollEvent(&e) ) {          // если произошло событие
            if (e.type == SDL_QUIT) {       // и окно было закрыто,
                next = 0;                   // завершаем цикл
            }
        }
 
        // задаем цвет: область для рисования, r, g, b, a
        SDL_SetRenderDrawColor(render, 0, 33, 50, 0);       // цвет фона
        SDL_RenderClear(render);                            // обновляем фон
 
        SDL_SetRenderDrawColor(render, 0, 255, 0, 255);     // цвет рисунка
        SDL_RenderDrawLine(render, 640/2, 20, 640/2, 440);  // рисуем линию
        SDL_RenderDrawRect(render, &rect1);             // рисуем прямоугольник
        SDL_RenderFillRect(render, &rect2);             // - закрашенный
        SDL_RenderDrawPoint(render, 480, 240);          // рисуем точку x, y
 
        SDL_RenderPresent(render);                      // рисунок на экран
    }
 
    // конец программы
    SDL_DestroyRenderer(render);
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 0;
}
Программу необходимо собирать командой: gcc file.c -o name -lSDL2
И, конечно же, у вас в системе должна быть установлена библиотека SDL2 (на примере ubuntu): sudo apt-get install libsdl2-2.0-0 libsdl2-dev
0
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
30.10.2019, 19:06
maxika, скорее всего имеется ввиду ncurses
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
30.10.2019, 19:18
Цитата Сообщение от Вованя Посмотреть сообщение
имеется ввиду ncurses
Цитата Сообщение от maxika Посмотреть сообщение
для программирования графических примитивов.
SDL удобно, но если кто-то реально хочет познакомится с графикой, то лучше OpenGL ничего нет, по крайней мере это будет первым этапом, причём работающим почти везде перед изучением навороченных граф движков или DirectX
0
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
31.10.2019, 00:22
drfaust,
На подобии DOS, когда создаем графический режим.
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
31.10.2019, 00:54
А в чём проблема писать используя openGL под MS-DOS? Да, теряем видеокарту(ускорение), т.к. имеем только VGA/VESA, имеем отличный гемор с инициализацией и некоторыми функциями, но
https://www.youtube.com/watch?... kUwT9U1GzA
0
7 / 6 / 1
Регистрация: 26.12.2019
Сообщений: 71
26.12.2019, 12:00
Доброго времени суток !

cairo on fbdev
https://gitlab.com/cairo/cairo... cairo-fb.c

По моему это то что вы ищите vconsole отключите, курсор гасим, захватываем fb0 и рисуем что нравится
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
26.12.2019, 12:44
Или тупо использовать X.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2019, 12:44
Помогаю со студенческими работами здесь

Графический режим
А в этом поможете??????????? создать программу, включающую следующие подпрограммы Процедура вывода на экран в графическом режиме:...

Графический режим
Помогите пожалуйста с графикой! У меня изображение не отображается, выходит только черный экран. Если можно выложите пожалуйста пару...

Графический режим
Друзья помогите пожалуйста.Тут такая хрень, по работе надо работать с Линукс, а администрартор ушел в отпуск. Ко мне пришли вот с таким...

Графический режим
Всем привет! Как написать меню программы в графическом режиме, чтобы были реализованы переходы по кнопкам меню.

графический режим
Составить программу, реализующую движение с одинаковой скоростью двух шариков разных цветов внутри прямоугольника. В программе должна быть...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru