Перейти к публикации
Форум - ComputerCraft
Zer0Galaxy

Графическая библиотека "Граффити"

Рекомендованные сообщения

Разбрызгивание это функция скорее графического редактора. Оно легко реализуется при помощи graffiti.dot() и генератора случайных чисел.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавлена функция polygon.

Теперь можно рисовать вот такие пентаграммы

g.setColor(0xff0000)
g.circle(80,50,44)
g.polygon(80,93, 54,16, 120,64, 40,64, 106,16, 0xffff00)

post-7-0-12499700-1455723209_thumb.png

  • Like 6

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавлены функции load и draw.

Пример наложения изображения на пентаграмму:

g.setColor(0xff0000)
g.circle(80,50,44)
g.polygon(80,93, 54,16, 120,64, 40,64, 106,16, 0xffff00)
g.draw("pic.png",1,1)

post-7-0-15403100-1456156623_thumb.png

 

онлайн PNG-редактор

Изменено пользователем Zer0Galaxy
  • Like 6

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавлена возможность масштабирования при выводе png-файла (см. функцию draw):

java=g.load("Java_RE.png")
for i=1,10 do
  g.draw(java,math.random(-50,110),math.random(-50,50),math.random(40,80),math.random(40,80))
end

post-7-0-24316300-1456935141_thumb.png

  • Like 6

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ой стоп я понял. Ты используешь знак который помещается на половинку пикселя OC и выбираешь background и foreground и делаешь чето там

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот чего я не видал в подобных библиотеках - так это логическое совмещение полусимвола (Шрифт Брайля) и обычного текста, в одних можно выводить брайлем, в других текстом но саморучно туда символы Брайля пихать, а вот бы какое-то логическое апи) моя либа как бы вроде должна была иметь такую реализацию, но загнулась в конец, ибо меня грузят в вузе)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо взять все крутые идеи и сплавить в одну Ultimate Graphical Library (сокращённо UGLY).

  • Like 7

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо взять все крутые идеи и сплавить в одну Ultimate Graphical Library (сокращённо UGLY).

Это сэкономит всем время. Классная идея.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Крутая либа! Буду использовать в своих проектах :) *Оч мало софта, который мне прям нравится, эта либа - одна из этого софта.

----------------------------------------------

Есть предложение. Я, помню, писал для своей apiAPI функцию построения графиков. Чутка подкорректируй, и все будет ок ;D

function api.grafik(temperatures)
  if temperatures == nil then temperatures = {} for i = 1, 12 do temperatures[i] = math.random(-10, 10) end end
  max = -math.huge
  for i = 1, #temperatures-1 do if max < temperatures[i+1] then max = temperatures[i] end end
  width, height = component.gpu.getResolution()
  buffer.semiPixelLine(4, height/2, 4, height/2-max-5, 0xFFFFFF)
  buffer.semiPixelLine(4, height/2, 4, height/2+max+5, 0xFFFFFF)
  buffer.semiPixelLine(4, height/2, #temperatures*4, height/2, 0xFFFFFF)
  old, new, x, lx = 1, 2, 7, 8
  for i = 1, #temperatures-1 do
    buffer.semiPixelLine(x, (height/2)-(temperatures[old]), lx, (height/2)-(temperatures[new]), 0xFF0000)
    old, new, x, lx = old + 1, new + 1, x + 2, lx + 2
  end
  buffer.draw(true)
end --Написано под doubleBuffer, используется функция рисования линии(x1, y1, x2, y2, color)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...

А почему нельзя было залить картинку на imgur? 

Теперь она рипнулась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×