Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
15-1145908110
Fedor
2006-04-24 23:48
2006.05.28
удаленная работа для Delphi программиста


2-1146014409
DimonS
2006-04-26 05:20
2006.05.28
MS SQL в ХР и 2000 Вмндоусе. Почему работает по разному?


15-1146660335
RomanH
2006-05-03 16:45
2006.05.28
Экспорт данных из SQL Explorer


15-1145595332
MBo
2006-04-21 08:55
2006.05.28
Пятничные задачки для программистов.


4-1135356695
oleggar
2005-12-23 19:51
2006.05.28
file hooks





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский