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

Вниз

куда щелкнул юзер?   Найти похожие ветки 

 
Centr   (2004-11-18 08:53) [0]

Доброго всем!
есть Image в него загружена картинка с цветными облястями и черными границами,  в качестве примера:

image1.Canvas.Brush.Color:=clRed;
image1.Canvas.Ellipse(rect(10,10,50,50));
image1.Canvas.Brush.Color:=clGreen;
image1.Canvas.Rectangle(rect(10,70,50,110));


надо узнать щелкнул ли юзверь по элипсу или квадрату, к цвету привязку делать не стоит т.к. он может меняется.
Реально области намного сложнее.

Заранее всем спасибо


 
[lamer]Barmaglot ©   (2004-11-18 09:38) [1]

PtInRegion?


 
Centr   (2004-11-18 09:45) [2]


> PtInRegion?


а как этот регион задать,
желательно чтоб программно


 
[lamer]Barmaglot ©   (2004-11-18 09:50) [3]

RTFM?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/regions_6o6r.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlusreference/flatregion.asp


 
Centr   (2004-11-18 11:12) [4]


> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/regions_6o6r.asp
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlusreference/flatregion.asp


а может че нить на русском есть
ну плохо у меня с англицким :(


 
[lamer]Barmaglot ©   (2004-11-18 11:20) [5]

Нет, у меня с английским нормально, так что других ссылок у меня нет...Просто берешь название ф-ции и ищещь в инете... Долго, но если приспичело...

P.S. Кстати программист без знания английского - это нонсенс...


 
Centr   (2004-11-19 03:34) [6]

нашел хорошую статью про регионы
http://www.realcoding.net/article409.html,
также нашел код который из черно-белого битмапа делает регион,
но никак не могу найти функции для масштабирования и установки региона в нужную позицию


 
Анонимщик ©   (2004-11-19 15:22) [7]

Так тебе еще и контуры выделить нужно? А потом определить, входит ли данная точка внутрь области, ограниченной контуром? И что за масштабирование и установка?


 
Centr   (2004-11-22 05:57) [8]

про то как создать регион и определить точку попала или нет разобрался.
надо уменьшить этот регион, и нарисовать его в заданных координатах


 
Анонимщик ©   (2004-11-22 10:46) [9]

Тю.
Раз ты уже и с попаданием разобрался, то сделать преобразование координат для тебя - пустяк.


 
Centr   (2004-11-23 09:47) [10]


> сделать преобразование координат для тебя

про вывод все просто есть ф-ция PaintRgn, про попадание тоже есть ф-ция PtInRegion, но проблема в том что регион рисуется точно такой же и точно там же откуда он был определен (я его определил программно из картинки и записал в файл), мне теперь надо его уменьшить и нарисовать в другом месте.
Вот этого я НЕ МОГУ. Не дорос еще, а нужно просто позарез.
Есть ф-ция GetRgnBox, которая возвращает Rect региона, но нет ф-ции SetRgnBox :((


 
Анонимщик ©   (2004-11-23 11:38) [11]

Пусть координаты вершин: (Xi, Yi), i=1,N - N вершин короче говоря. Тогда координаты вершин уменьшенного многоугольника:

X"i = Alpha*(Xi-Xc) + Xc; Y"i = Alpha*(Yi-Yc) + Yc;

Xc, Yc - центр масс многоугольника. Поскольку ник у тебя соответствующий, то вычисли его сам.
Alpha может принимать любые действительные значения.


 
Centr   (2004-11-26 11:47) [12]

все это понятно, как добраться до этих самых координат


 
Анонимщик ©   (2004-11-26 15:04) [13]

Ты меня прямо разочаровываешь. До каких еще координат? Разве ты их не сам задаешь при построении региона?


 
Centr   (2004-11-29 11:33) [14]


> Разве ты их не сам задаешь при построении региона?

извини :(
но я действительно их не сам задаю,
я нашел функцию которая анализирует ч/б картинку и по ней создает регион.
я этот регион записываю в файл, а потом этот файл записываю опять в регион когда надо и отрисовываю.
Проблема в том, что рисуется он точно таким же (по размерам и местоположению) каким был когда его сохраняли.



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
4-1105724518
Zorro
2005-01-14 20:41
2005.03.13
Как поместить ехе в пуск>программы>автозагрузка


9-1103540530
webpauk
2004-12-20 14:02
2005.03.13
DirectDraw


14-1109112984
Александр грифин
2005-02-23 01:56
2005.03.13
Требуется программист для реализации проекта


4-1107241251
Mikola
2005-02-01 10:00
2005.03.13
Один сеан за день!


3-1108201399
Dell3r
2005-02-12 12:43
2005.03.13
Медленная загрузка





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