Форум: "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.042 c