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

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

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

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

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


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

Добавлена функция 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

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


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

Добавлены функции 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

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


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

Добавлена возможность масштабирования при выводе 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

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


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

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

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


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

Угу. А еще есть Шрифт Брайля. С ним пиксель еще меньше получается, вот только с цветом проблемы.

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


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

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

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


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

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

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


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

Надо взять все крутые идеи и сплавить в одну 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? 

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

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

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

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

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

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

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


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