Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Векторная графика   Найти похожие ветки 

 
Mulka   (2005-12-26 19:08) [0]

Господа, с наступающим новым годом!

А проблема такая:

Есть ли в инете или в книгах алгоритмы по которым рисуются
линии в векторной графике?
Т.е. если заданы две точки на Canvas то какие пикселы
будут окрашены в нужный цвет?
А вообще задача у меня такая:

На bmp-файле нарисован "регион", надо найти его вершины.


 
palva ©   (2005-12-26 23:42) [1]

Если по рисовании линий, то можно посмотреть тут:
http://graphics.cs.msu.ru/courses/cg_el99/notes/lect01.doc


 
DrPass ©   (2005-12-27 00:34) [2]


> Есть ли в инете или в книгах алгоритмы по которым рисуются
> линии в векторной графике?

Есть. y = a * x + b


 
MBo ©   (2005-12-27 07:25) [3]

>если заданы две точки на Canvas то какие пикселы
будут окрашены в нужный цвет?

Алгоритм Брезенхема или DDA

>На bmp-файле нарисован "регион", надо найти его вершины.
Тут, скорее всего, нужно будет не совсем так - если создается объект - регион, то GetRegionData, иначе вести отрисовку в BegintPath/EndPath, затем преобразовать траекторию в регион


 
Mulka   (2005-12-27 09:18) [4]

Большое спасибо всем за ответы.


> Тут, скорее всего, нужно будет не совсем так - если создается
> объект - регион, то GetRegionData, иначе вести отрисовку
> в BegintPath/EndPath, затем преобразовать траекторию в регион


Я наверное не правильно выразился.
В bmp имеется область пиксели которой имеют определенный цвет.
Моя задача найти точки, которые позволят отоброжать эту область
посредством региона с определенной точностью.


 
MBo ©   (2005-12-27 09:53) [5]

соответствует ли твой термин "регион" такому же объекту Windows?


 
Mulka   (2005-12-27 09:59) [6]

Разумеется


 
Mulka   (2005-12-27 10:04) [7]

Вообще не обязательно регион можно и polyline.
Главное определить координаты точек по которым должен быть
построен примитив.


 
MBo ©   (2005-12-27 10:04) [8]

Тогда не составляет большого труда обойти все пикселы, добавляя нужные в сложный регион. Простейшая реализация - создавать каждый раз региончик 1x1 и CombineRgn с уже имеющимся. Более быстрый метод - группировка в прямоугольники. Описано  на www.delphikingdom.ru в статье А. Григорьева о библиотеке BmpRgn, или в первоисточнике - где-то в недрах www.codeproject.com или www.codeguru.com


 
MBo ©   (2005-12-27 10:05) [9]

>Вообще не обязательно регион можно и polyline.
тогда мне, наверно, не очень понятна задача. Поподробнее.


 
Mulka   (2005-12-27 10:25) [10]


> MBo ©   (27.12.05 10:04) [8]

тоже очень полезно, большое спасибо.

А вообще если скажем в bmp нарисован регион типа Canvas.Polygon(Point1,
Point2,Point3, Point4); (я его сам не рисовал и могу только обращаться к
пикселам), нужно найти Point1, Point2,Point3, Point4.



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.01 c
1-1145526338
.ruslan
2006-04-20 13:45
2006.05.28
Сортировка ListView


15-1146647604
Yanis
2006-05-03 13:13
2006.05.28
Где скачать java-игры для телефона?


2-1147323581
shadow86
2006-05-11 08:59
2006.05.28
Временная задержка при выполнении программы


2-1147605348
Mr tray
2006-05-14 15:15
2006.05.28
делает ли что-то exit в конце процедуры


2-1147378010
Mr tray
2006-05-12 00:06
2006.05.28
использование DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский