![]() |
|
|
![]()
|
|
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
Как получить изображение (картинку, графику, набор пикселей), которое расположено позади моей формы. Дело в том, что мне нужна прозрачная форма, но по рядку причин, я должен отрисовывать эту форму самостоятельно.
Это сообщение отредактировал(а) HappyLife - 19.1.2009, 11:41 |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Насколько я знаю, есть только один вариант:
Скрыть ненадолго форму с экрана, сделать Print Screen, и выдрать из картинки нужный кусок. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
mrbrooks, почему не могу пользоваться стандарными средствами? Я создаю прелодер, (должен быть тот, что на приклепленной картинке, созданной в фотошопе). Для этого, я создаю форму, рисую на ней экран под формой (этот самый экран я захватываю как раз таки до появления), а уж сверху начинаю рисовать изображение прелодера (синию спиральку). Если форму просто сделать прозрачной, то моя спиралька так же станет прозрачной. Если воспользоваться TransperancyColor, то все получается зазубренно.
И этот способ работает, до тех пор, пока за мои прелодером не происходит какиз-либо изменений. В этом случае просто не перерисовывается бэкграунд. Это плохо! Присоединённый файл ( Кол-во скачиваний: 27 )
1.jpg 201,65 Kb |
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: 1 Всего: 1 |
так здесь нужно юзать gdi+ пойщи в инете transparent png form
у меня есть пример кое-какой скну позже суть примера - рисуется форма по png c альфа как-её там точно не знаю прозрачностью и никаких замут с preentscreen и скрытием формы пример поищу у себя Добавлено @ 12:41 ага вот и пример с кодом http://www.leunen.com/cbuilder/gdiplus.html эээ готовый пример посмотрю дома и докину сюда (если остался) Это сообщение отредактировал(а) sergey_85 - 19.1.2009, 12:48 -------------------- A good design always pays off. |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
Вот что получается если изменяется задний план.
Присоединённый файл ( Кол-во скачиваний: 27 )
2.jpg 207,66 Kb |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
sergey_85, попробую.
Это сообщение отредактировал(а) HappyLife - 19.1.2009, 12:46 |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
Я нашел кое какие примеры, но они либо на C# либо на басике. И ни первое ни второе я не понимаю.
http://episteme.arstechnica.com/eve/forums.../m/432006814631 http://www.xtremevbtalk.com/archive/index.php/t-266655.html Может быть кто-нибудь может помочь с переводом на С++. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
"GDI+" + "картинка с прозрачшым фоном" - однозначный вариант, вспомни SplashScreen у Acrobat Reader и Photoshop
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
Я сделал, то что я хотел.
Но как теперь показать некоторые компоненты на форме. Конкретно снизу мне нужен ProgressBar. Это сообщение отредактировал(а) HappyLife - 20.1.2009, 13:01 |
|||
|
||||
| sergey_85 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: 1 Всего: 1 |
Привет! Как и обещал пример формы-заставки на основе png-картинки с альфа каналами
(см. прикрепление) //инцализация gdi plus
... а вот здесь всё и происходит
Удачи! Добавлено через 3 минуты и 36 секунд Никак придется выкручиваться самому т.к. в этом случае форма теряет все стандартные события перерисовки Можно обновлять саму картину через определенный интервал времени Это сообщение отредактировал(а) sergey_85 - 21.1.2009, 08:53 Присоединённый файл ( Кол-во скачиваний: 15 )
gdiplus_3_alphablendingform.rar 973,56 Kb-------------------- A good design always pays off. |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
сам рисуй -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| HappyLife |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
По таймеру? |
||||
|
|||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
HappyLife, Можешь даже нарисовать что-нибудь покрасивее стандартного Добавлено через 9 минут и 15 секунд Мне кажется так: 1. Отрисовываешь форму 2. Рисуешь компоненты Добавлено через 10 минут и 4 секунды Без таймера. Просто следом. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |