Главная страница
    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.014 c
2-1147433954
Ламот
2006-05-12 15:39
2006.05.28
Запуск/закрытие стороннего приложения


15-1146493206
kernel
2006-05-01 18:20
2006.05.28
Игра в городки


2-1147079543
Близнец
2006-05-08 13:12
2006.05.28
Не выполняется цикл. Почему?


15-1146289797
User_OKA
2006-04-29 09:49
2006.05.28
Имитационная модель


15-1146336501
Tack
2006-04-29 22:48
2006.05.28
Функции перекодирования безопасных URL





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