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

Вниз

а как узнать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
15-1168700215
Другой
2007-01-13 17:56
2007.02.04
Вопрос к Украинцам из Львова. Это правда?


8-1148658042
Алексей89
2006-05-26 19:40
2007.02.04
Выполнить выделение кажд. единицы одинакового кванта времени


2-1169030440
17Landgraf
2007-01-17 13:40
2007.02.04
Как можно вывести сообщение по верх других окон?


15-1168462847
DillerXX
2007-01-11 00:00
2007.02.04
Win32 и ожидание


15-1168654314
Константинов
2007-01-13 05:11
2007.02.04
Какой будет жизнь лет этак через двадцать?





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