Перейти к содержимому

IncluderWorld

  • записей
    11
  • комментария
    62
  • просмотров
    60 875

Компьютерная графика для новичков [Opencomputers]

LeshaInc

6 509 просмотров

Итак когда я захотел писать нормальные gui'шные программы я не знал как рисовать в ОС. Я искал мануалы но 'тупил'. Мне приходилось перелопачивать много информации чтобы понять как рисовать. Вскоре конечно я понял, но потратил много времени. Статья посвещается всем тем, кто так как и я не когда-то не может понять gpu api.
Итак для начала нужно подключить нашего 'монстра' gpu api. Для этого надо ввести такие строчки вначале кода:

local component = require("component") -- Подключаем API компонентовlocal gpu = component.gpu -- Подключаем GPU APi.


После этого у нас загрузится наш 'монстр'. Итак программа наша программа ничего не делает. Хорошее начало. Теперь нарисуем первый пиксель! Для этого надо установить фон, таким какой нам цвет нужен, затем заполнить один пиксель пустым символом " ". Код будет выглядеть так:

gpu.setBackground(ВАШ ЦВЕТ В 16 битном ФОРМАТЕ) --Например 0x00ff00gpu.set(X,Y,' ') -- X и Y это позиция вашего пикселя. Учтите что на компьютерах исчисление начинается не с середины, а с верхнего левого угла.


Для удобства напишем функцию:

function drawPixel(x,y,color) -- Начало функцииgpu.setBackground(color) -- Установка цвета  gpu.set(x,y," ") -- Создание пикселяend -- Конец функции


Теперь чтобы нарисовать один пиксель нужно будет просто ввести drawPixel(x,y,color). Учтите что нельзя писать там просто букву (x или y) если у вас нет переменной с таким названием. Если переменной нет, то пишите число. Также вы можете указать какой нибудь текст там где у нас ' '. Тем самым вы получите текст на цветном фоне. :).

 


Я думаю на сегодня все. Пока :)

  • Нравится 7
  • Спасибо 1


7 комментариев


Рекомендуемые комментарии

Полезно. Спасибо, буду делать загрузочный экран на ОК.

(не знаю, зачем, просто загрузочный экран.)

Только узнать эти x и y сложно.

Поделиться комментарием


Ссылка на комментарий
Полезно. Спасибо, буду делать загрузочный экран на ОК.

(не знаю, зачем, просто загрузочный экран.)

Только узнать эти x и y сложно.

Я рад что тебе это помогло. Сегодня будет ещё урок про заливку, очистку и т.д.

Поделиться комментарием


Ссылка на комментарий

Сотри "API." в функции.

Если у тебя не объявлена таблица с именем API это будет вызывать ошибку.

И вызывать вопросы к автору кода =)

Поделиться комментарием


Ссылка на комментарий

Сотри "API." в функции.

Если у тебя не объявлена таблица с именем API это будет вызывать ошибку.

И вызывать вопросы к автору кода =)

Сделано!Спасибо что подсказал. А то новички будут в недоумении.

Поделиться комментарием


Ссылка на комментарий

@Clay_gem к сожалению нельзя, так как на экране отображаются псевдопиксели. Он больше предназначен для вывода текста нежели изображений. Если прям надо квадратную точку то крась 2 символа. Хотя можно еще использовать верхний или нижний квадрат, как бы разделяя 1 символ пополам

Поделиться комментарием


Ссылка на комментарий
Гость
Добавить комментарий...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...