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

Вниз

а как узнать path окошка?   Найти похожие ветки 

 
Альберт ©   (2007-01-18 23:19) [0]

окна с лесенкой такие некрасивые( вот я и хочу сделать сглаживание неровностей.. и хотел бы начать с определения точек окна по периметру.

подскажите пожалуйста, а как это сделать?


 
default ©   (2007-01-18 23:33) [1]

GetWindowRgn
штука в том, что разным путям может соответствовать один и тот же регион
а окну однозначно соответствует регион, а не путь

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


 
Джо ©   (2007-01-18 23:48) [2]

Регионы, внутренне, это совокупность прямоугольников, вписанных в данную фигуру.


 
Альберт ©   (2007-01-19 00:53) [3]

а потом я так понимаю GetRegionData


 
default ©   (2007-01-19 00:59) [4]

что-то я слабо представляю, как ты собираешься по аппроксимирующим прямоугольникам искать "лесничатый путь" очерчивающий контур формы
а вот с пиксельным пробегом будет очень просто, если граница окна идёт лесенкой и строго под прямыми углами


 
Альберт ©   (2007-01-19 01:11) [5]

типа взять getdc окна и пробежать по периметру?


 
default ©   (2007-01-19 01:13) [6]

Альберт ©   (19.01.07 01:11) [5]
опиши с окнами какой формы имеешь дело
если лесенка границы окна может идти не только под прямым углом, тогда всё заметно усложняется


 
Альберт ©   (2007-01-19 01:18) [7]

окно чужого приложения, не диалоговое, обычное


 
Альберт ©   (2007-01-19 01:20) [8]

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


 
default ©   (2007-01-19 01:21) [9]

Альберт ©   (19.01.07 01:18) [7]
я про их форму
"окна с лесенкой такие некрасивые"
вот это расшифруй
вообщем, какой формы границы окон собираешься сглаживать
ну границы могут быть прямоугольные(обычно такие), круглые, эллипсом, и всякие другие
какие у тебя


 
default ©   (2007-01-19 01:25) [10]

Альберт ©   (19.01.07 01:20) [8]
тогда дело хуже
"возможен выход из проблемы, если я сам задам регион окну. "
ты сам можешь задавать регионы окнам которые нужно потом сглаживать?


 
Альберт ©   (2007-01-19 01:35) [11]

ну да в принципе


 
Альберт ©   (2007-01-19 01:40) [12]

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

я думаю так, можно скопировать с экрана изображение формы, зная rgn, инвертируем его, перекрасим в другой цвет. таким образом думаю пробежаться по периметру.


 
default ©   (2007-01-19 01:52) [13]

Альберт ©   (19.01.07 01:40) [12]
так-то оно так
только вот как пробегаться будешь
посмотри алгоритмы машинной графики
думаю, что-то подобное должно быть
можно и самому, сложность зависит как и с каким качество сглаживать


 
Альберт ©   (2007-01-19 02:37) [14]

пытаюсь сделать скриншот формы и не фига .. глупая ошибка..
dc:=getdc(0);
getwindowrect(w,rect);
BitBlt(dc, 0, 0, 200, 200, DC, rect.Left + 100, rect.Top, SRCCOPY );


 
default ©   (2007-01-19 08:48) [15]

ты сам можешь задавать регионы окнам которые нужно потом сглаживать?
ну да в принципе

что-то я вчера это без внимания оставил
попробуй тогда о них инфу сохранять



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

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

Наверх




Память: 0.5 MB
Время: 0.047 c
3-1163256864
multiplier
2006-11-11 17:54
2007.02.04
фильтруемый lookup-список


4-1158723543
Wolfram
2006-09-20 07:39
2007.02.04
Работа с нестандартными клавишами


3-1163058620
O.O
2006-11-09 10:50
2007.02.04
UPDATE


6-1156805841
ZLOFENIX
2006-08-29 02:57
2007.02.04
Socks5 прокси


15-1168885719
ferr
2007-01-15 21:28
2007.02.04
The Doors. Фильм Оливера Стоуна.