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

Вниз

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

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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
14-1108882090
SOFS
2005-02-20 09:48
2005.03.13
Какие языки програмрования будут востребованы в будущем?


1-1109585518
RavenD
2005-02-28 13:11
2005.03.13
Версия EXE из DLL?


1-1109184659
tUUm
2005-02-23 21:50
2005.03.13
Сервис запускается но неработает.


1-1109342641
Goga
2005-02-25 17:44
2005.03.13
Свойство объекта


1-1109334745
andr484
2005-02-25 15:32
2005.03.13
Проблема с функцией из DLL