Mavlyudov писал(а):Через Pixels не вариант. Пишу на WinApi. Хочу сделать аналог setpixel, а через него и lineto.
1 Если хочешь делать через WinApi фокус с рисованием на битмапе все равно работает .
2 Может для тебя новость но Pixels сделан как раз через стандартный WinApi.SetPixel ...
3 Примитивы вроде canvas.Lineto работают не так уж медленно (там есть оптимизация для вывода именно их ).
4 Даже мой вариант SetPixel (и любой другой способ работы с каждым пиксилем ) по умолчанию дико медленный способ рисования чего-бы то не было в векторной форме.
5 Доступ к растру по точкам приходится применять только при необходимости обработки изображений .(Даже вывод мало цветных растровых изображений обычно пытаются оптимизировать например выводом через LineTo )
6 Если программа будет писаться только под Виндовс можно получить неслабое ускорение вывода векторной графики используя Метафайлы http://wiki.freepascal.org/TMetafile_/_TMetafileCanvas
Можешь почитать вот эту тему:
Как ускорить прорисовку векторной графики ?
(Флуда много но польза от споров была ! )