Главная страница
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.053 c
3-1163492559
Bless
2006-11-14 11:22
2007.02.04
Почему не возникает ошибка?


6-1156835616
DVM
2006-08-29 11:13
2007.02.04
Потокобезопасность connect(), socket(), select() и прочее


15-1168823033
Германн
2007-01-15 04:03
2007.02.04
А с наушниками совсем "другая жизнь"!


2-1168893444
Mettt
2007-01-15 23:37
2007.02.04
Сортировка TList


1-1165779902
Phoroon
2006-12-10 22:45
2007.02.04
Collection и Thread