Page 1 of 4

Графика

Posted: Mon Jan 16, 2012 6:38 pm
by Стас
Графика напоминает WindowsOS, почему нельзя какнибудь по интереснее? У меня есть кстати функция, рисует шрифты векторные очень чётко, использует сглажиавание, может её воткнуть.
Моя отрисовка с права, слева винда.
Только шрифт пока один, и то не дорисованный.

Re: Графика

Posted: Mon Jan 16, 2012 8:32 pm
by SoUrcerer
Что за функция, как рисует, на чем написана, какие форматы шрифтов используются?
У нас открытое сообщество. Не нравится графическое оформление по умолчанию - можно изменить. Например, использовать dock от Trolly. Или сделать свой док. Пока что у всех разработчиков других дел достаточно. Есть желание заняться - все будут только рады. Настраиваемую панель с плагинами уже давно многие ждут.

Re: Графика

Posted: Tue Jan 17, 2012 3:46 am
by Стас
Функция написана на фасме написал сам, сейчас использую в своей оси(тоже на фасме написана).
Очень быстрая, с возможностью поворота букв. Формат в виде заголовка из 256 смешений на символ описаный точками для кривой бизье второго порядка.
Если кто любитель шрифты рисовать могу дать редактор свой.Не могу дорисовать шрифты, уситчивости не хватает.
Там можно виндовский шрифт обводить просто моей линией.

Re: Графика

Posted: Tue Jan 17, 2012 4:38 am
by Стас
Есть разработка по проектиравании ядра, которая даёт уникальные возможности, с кем из разработчиков можно переписаться по обмену опыта?

Re: Графика

Posted: Tue Jan 17, 2012 10:07 am
by SoUrcerer
Молодец! Подобная функция есть в библиотеке векторной графики для Колибри (за исключением неправильной отрисовки кривых Безье, о которой автор знает, и невозможности изменить толщину линии). Под какой лицензией код твоей функции?

Обрисовывать шрифты Windows - неправильный подход. Во-первых, это противозаконно. Во-вторых, в формат библиотеки векторной графики для Колибри я шрифты переводил небольшим скриптом прямо из ttf. Скрипт утерян, но сложностей в этом никаких нет.

Поддерживает ли твоя функция заливку областей? Боюсь, что нет. А это очень большое ограничение для шрифтов. Посмотри, к примеру, на демку шрифтов BGI. Увы, скорость отрисовки при наличии заливаемых областей - падает.

Разработка - это реально разработка, или просто идея? Почему бы просто не написать на форуме в теме "Разное"/"Ядро" (в зависимости от применимости к Колибри)?

Re: Графика

Posted: Tue Jan 17, 2012 10:22 am
by Стас
Как заливки нет, вы шаго! Я эту заливку 2 года мучал. И скорость там нормальная.
Разработка реализована но не все её возможности показаны.

Re: Графика

Posted: Tue Jan 17, 2012 10:27 am
by Стас
Какая разница где писать, от этого мало что изменится.
Перерисовываю шрифты не виндовские а свободных рисователей, их в инете много.
Конвертировать готовые проще, но не хочу. Там на одной букве 50 точек, а у меня 15 получается.

Re: Графика

Posted: Tue Jan 17, 2012 10:50 am
by SoUrcerer
Офигенно, молодец! Я потратил на разработку алгоритма вывода шрифтов около месяца, правда, по кругу выводить он не умеет. Так что с лицензией кода? :)
У конвертации есть плюс. Можно написать конвертер, который будет работать в целевой ОС, и тогда можно будет просто в этой целевой ОС скачать шрифт из интернета и установить.
256 символов - мало, нужно выпускать вторую версию формата шрифтов, чтобы можно было задавать Юникодовые шрифты. У меня на этот счет большие планы.
Если что, я готов помочь с отрисовкой всяких там DejaVu.
В примерах не увидел ни одной буквы типа "ё". Можно такое делать в текущей реализации? Если нет, нужно будет добавить еще возможность составления шрифтов из разных глифов, но это всё мелочи. Чувак, ты крут.
Скорость отрисовки не замерял, кстати?

Re: Графика

Posted: Tue Jan 17, 2012 10:54 am
by Стас
Я сначало писал на delfi, там скорость рисовки 50 букв была с задержкой, но перевёл на фасм и заметности не стало. Рисовать можно несколько фигурок в одной букве.

Re: Графика

Posted: Tue Jan 17, 2012 10:55 am
by Стас
Шас закачаю редактор.

Re: Графика

Posted: Tue Jan 17, 2012 10:58 am
by SoUrcerer
Хм. Я замерял, сколько времени занимает отрисовка одной буквы в разрешении 10x10, 16x16 и 600x600, и сравнивал с FreeType.
И всё же - как ты планируешь распространять свой код? Как public domain, как gpl, bsd или вообще не хочешь никому показывать?:)

Кстати, форум поддерживает архивы в формате 7z, и ограничение на размер файла - 256 килобайт. Если что-то более тяжелое, то лучше залить на rghost или еще куда-нибудь.

Re: Графика

Posted: Tue Jan 17, 2012 11:10 am
by Стас
Вопрос распространения конечно труден, но решения всегда могут найтись.
Это просмотр шрифта, там можно покрутить.

Re: Графика

Posted: Tue Jan 17, 2012 11:23 am
by Стас
Редактор рисует, при сохранении 2 файда, второй копировать можно в просмоторшик и переименовывать font.
Начинать рисовать с 3 кнопки, дальне по часовой стрелке обводить, а внутри фигуры против часовой.
2 кнопка - добавить точку круглую, 3 прямой угол. 1 кнопка редактировать после добавления точек.
Соединять первую с последней обязательно, перед соединением последнюю выделять

Re: Графика

Posted: Tue Jan 17, 2012 11:36 am
by SoUrcerer
Ага, выглядит очень здорово. Редактор, конечно, норовистый, но всё ок. Рисует вроде прилично быстро, нужно попробовать отрисовку в VESA-режиме кучей текста на весь экран на слабой машинке.
С кернингом еще косяки, но это всё херня, только пчё!
Думаю, что в качестве библиотеки это было бы очень здорово. С моей точки зрения, код библиотек в GPL-системе в основном должен быть GPL-ным. А вообще - дело автора. Лишь бы свободная реализация была.

Re: Графика

Posted: Tue Jan 17, 2012 11:53 am
by Стас
В принципи можно как бинарник подключить к Колибри функцию. Я её использую на весе, задаю ей размер картинки на которой рисовать и адрес массива с пикселями, или размер экрана и LFB, размер шрифта. По отрисовке букв двигает положение координаты х. Проверка на неотрисовку за границей есть.
Можно ф-ю использовать для отрисовки любых форм, например для отрисовки произвольной формы окошек с сглаженными краями. Сглаживается не субпиксельно.
Почему заливка не получалось прекрасно понимаю :) Были случаи, когда алгоритм признавал нереализуемым.