воскресенье, 25 июля 2010 г.
Сетка и точки
Как можно увидеть из скриншота - я прикрутил сетку. Ее можно включить в окне привязок, так как я считаю что без привязки к узлам, сама сетка не нужна. Пока что сетка не меняет свои габариты с рисунком. Сделать сетку как в автокаде не получилось, ибо не знаю как на такой мощной штуке как Cairo нарисовать простую точку. Рисование отрезка с нулевой длиной ничего не дало, а рисование окружностей малого радиуса не дает желаемого. Как вы могли разглядеть - точки получаются жирноваты. Уменьшение толщины линии делает точку размазанной.
Буквально только что подглядел как рисуется сетка в Dia (штрихами). Думаю освоить эту идею со временем, а пока займусь дальнейшим ковырянием внутренностей
Подписаться на:
Комментарии к сообщению (Atom)


Кстати, все стало заметно подтормаживать, точно не знаю почему.
ОтветитьУдалитьПростая точка рисуется единичным квадратом с центром в центре пикселя (в cairo целочисленные координаты в дефолтной системе координат попадают ровно между пикселей, поэтому для рисования неразмытых фигур надо смещать координаты на 0.5):
ОтветитьУдалить(rectangle (- x 0.5) (- y 0.5) 1 1)
(fill-path)
Если система координат изменена, то высоту/ширину для единичного квадрата можно узнать функцией cairo_device_to_user_distance (не знаю, как называется обертка в cl-cairo2)
хмм. интересная информация. мне кажется что точка в виде прямоугольника тоже будет не совсем точкой и будет светиться 4 пикселами как и круг. Впрочем чем гадать -лучше проверить
ОтветитьУдалить