Как нарисовать эти рисунки в Си? - C (СИ)
Формулировка задачи:
Помогите нарисовать данные рисунки на языке Си
Решение задачи: «Как нарисовать эти рисунки в Си?»
textual
Листинг программы
#include "SDL.h" int main(int argc, char* argv[]) { if (SDL_Init(SDL_INIT_VIDEO) == 0) { SDL_Window* window = NULL; SDL_Renderer* renderer = NULL; if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0) { SDL_bool done = SDL_FALSE; while (!done) { SDL_Event event; SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE); SDL_RenderClear(renderer); SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE); SDL_RenderDrawLine(renderer, 320, 200, 300, 240); SDL_RenderDrawLine(renderer, 300, 240, 340, 240); SDL_RenderDrawLine(renderer, 340, 240, 320, 200); SDL_RenderPresent(renderer); while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT) { done = SDL_TRUE; } } } } if (renderer) { SDL_DestroyRenderer(renderer); } if (window) { SDL_DestroyWindow(window); } } SDL_Quit(); return 0; }
Объяснение кода листинга программы
- Подключение библиотеки SDL.h
- Инициализация SDL с помощью функции SDL_Init и передачей параметра SDL_INIT_VIDEO
- Создание окна и рендера с помощью функции SDL_CreateWindowAndRenderer и передачей параметров 640, 480, 0, &window, &renderer
- Создание переменной SDL_bool done со значением SDL_FALSE
- Запуск цикла while, который выполняется до тех пор, пока переменная done не станет SDL_TRUE
- Очистка окна и рендера с помощью функции SDL_RenderClear
- Установка цвета для рисования на рендере с помощью функции SDL_SetRenderDrawColor и передачей параметров 0, 0, 0, SDL_ALPHA_OPAQUE
- Рисование линий на рендере с помощью функции SDL_RenderDrawLine и передачей параметров 320, 200, 300, 240; 300, 240, 340, 240; 340, 240, 320, 200
- Представление нарисованных линий на экране с помощью функции SDL_RenderPresent
- Проверка событий с помощью функции SDL_PollEvent и проверка типа события на SDL_QUIT
- Если событие SDL_QUIT обнаружено, то переменная done устанавливается в SDL_TRUE
- Повторение шагов 8-11 до тех пор, пока событие SDL_QUIT не будет обнаружено
- Если рендерер не равен NULL, то он уничтожается с помощью функции SDL_DestroyRenderer
- Если окно не равно NULL, то оно уничтожается с помощью функции SDL_DestroyWindow
- Вызов функции SDL_Quit для завершения работы SDL
- Возврат 0 из функции main, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д