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

Библиотека для рисования точек через open glasses. AdvGLAPI

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

Сделал простенькую либу для рисования точек через open glasses.

http://pastebin.com/6ZU8pXR6

Использование:

gl=component.glasses
gl.setPoint(0,0,0x000000,0.1,1)--x,y,color,alpha,layer, поддерживает наложения с использование параметра layer
gl.getPoint(0,0,1)--x,y,layer
gl.delPoint(0,0,1)--x,y,layer
gl.points --массив всех точек, первое вложение - layer
gl.getColor() gl.setColor()--цвет по умолчания

Следующие планируемые функции:

gl.drawLine

gl.drawPicture

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


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

По название не понятно, что это либа для рисования точек на очках. Какое-то непонятное название! AdvGLAPI — Adventure Graphics Library API? WUT?

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


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

По название не понятно, что это либа для рисования точек на очках. Какое-то непонятное название! AdvGLAPI — Adventure Graphics Library API? WUT?

 

Я думаю здесь имеется в виду Advanced Graphics Library API. Но название действительно лучше переделать, или написать в сообщении тогда уж.

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


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

Я думаю здесь имеется в виду Advanced Graphics Library API. Но название действительно лучше переделать, или написать в сообщении тогда уж.

я думаю ставить вместе "Library" и "API" неправильно. То есть в переводе будет звучать как "улучшенная графическая библиотека интерфейс". Не логично;

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


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

Advanced Glasses API -  улучшенный прикладной интерфейс для очков


А у нас на проекте есть какой-то стандарт на графические изображения?

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


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

А у нас на проекте есть какой-то стандарт на графические изображения?

Я скоро допишу свой Minecraft Image Manipulation Program, там свой формат изображений. Собственно, такой:

x y c:x y c:x y c
x - позиция по X
y - позиция по Y
c - индекс цвета (от 0 до 255), функции конвертирования цвета (0xRRGGBB) в индекс будет в либе, но её надо дописать.
: - разделитель пикселей)
Пример:

1 1 221:2 1 221:3 1 32:1 2 221:2 2 221:3 2 32:1 3 221:2 3 221:3 3 31:

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


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

 

 

Я скоро допишу свой Minecraft Image Manipulation Program, там свой формат изображений. Собственно, такой:
 

Ок, дай парсер)

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


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

Я скоро допишу свой Minecraft Image Manipulation Program, там свой формат изображений. Собственно, такой:

x y c:x y c:x y c
x - позиция по X
y - позиция по Y
c - индекс цвета (от 0 до 255), функции конвертирования цвета (0xRRGGBB) в индекс будет в либе, но её надо дописать.
: - разделитель пикселей)

 

Вопрос: а зачем писать X Y для каждого пикселя? Не проще ли написать вначале общие параметры W / H (Ширина / Высота), а затем записать последовательность цветов в виде построчной развертки?

 

Кроме того, если количество цветов ограничено 255, можно писать файл в бинарном формате - байт на пиксель, экономя пространство и время работы с форматом.

 

Тогда размер файла будет W*H байт + несколько байт на сами значения W и H.

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


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

Вопрос: а зачем писать X Y для каждого пикселя? Не проще ли написать вначале общие параметры W / H (Ширина / Высота), а затем записать последовательность цветов в виде построчной развертки?

 

Кроме того, если количество цветов ограничено 255, можно писать файл в бинарном формате - байт на пиксель, экономя пространство и время работы с форматом.

 

Тогда размер файла будет W*H байт + несколько байт на сами значения W и H.

Дело в том, что картинки имеют прозрачный фон...

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


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

Дело в том, что картинки имеют прозрачный фон...

 

Вариант - оставить нулевой байт для прозрачности.

В твоей текущей реализации пиксель кодируется в среднем 8 байтами.

То есть это будет выгоднее предложенного мной варианта в том случае, когда площадь непрозрачного изображения составляет <= 1/8 от общей площади. Т.е. это будет достаточно небольшая иконка, окруженная большим пустым пространством.

 

P.S. Идеально будет, конечно, замутить что-то вроде сжатия, которое предлагал Zer0Galaxy.

Изменено пользователем Totoro

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


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

Ужас, это же сколько памяти жрать картинка будет.

Не Лехаинц не годится.

Я лучше на пылесосе картинки записывать буду, чем твоим говно-алгоритмом, ну или велосипедом с бензопилой зади.

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


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

Я свой формат начал делать.) Нео, у тебя классная либа для работы с двоичными данными)

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


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

Я не понимаю, в чём проблема то? Всего вариаций цветов 256 в OC, кодируем каждый цвет в один байт, и всё, нет проблем  :D. Ширина и высота будет определятся количеством символов в длину и количеством строк соответственно. Я даже представляю, как сжатие здесь применить. string.char(символ: string):number вам в помощь.

Изменено пользователем Ktlo

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


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

Я не понимаю, в чём проблема то? Всего вариаций цветов 256 в OC, кодируем каждый цвет в один байт, и всё, нет проблем  :D. Ширина и высота будет определятся количеством символов в длину и количеством строк соответственно. Я даже представляю, как сжатие здесь применить. string.char(символ: string):number вам в помощь.

 

Да я все придумал уже. Скоро реализую, сейчас просто нет времени.

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


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

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

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

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

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

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

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

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

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


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