![]() |
|
|
![]()
|
|
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Необходимо создать форму по png картинке. Т.е. окно неправильной формы и местами прозрачное.
Долго искал, нашел только пример для VB. Там вроде это реализованно с помощью GDI+. Прошу помочь. Заранее очень благодарен. |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
решение:
раскрасить форму в розовый цвет (заведомо не имеющийся в PNG-картинке), назначить Transperent-цвет=розовый, выставить свойство формы transperent=true.. считать картинку, и наложить ее на канву формы с учетом альфаканала.. конечно можно и проще.. к сожалению, при таком методе теряется полупрозрачность.. но зато он очень прост.. Это сообщение отредактировал(а) fish9370 - 22.7.2007, 12:12 -------------------- undefined |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
В том то и дело, что нужна пулупрозрачность. =( Так то я и сам делал раньше. А теперь появились разные тени, которые этим способом сделать не получится. Был еще вариант создать прямоугольную форму, на ней нарисовать скрин экрана, а поверх него уже мою картинку, но в таком случае придется отказаться от перемещения формы, да и если под моим окном что-нибудь перетащат, на моей форме это останется. Вобщем не самый удачный вариант... =( Может кто-нибудь знает как задавать уровень прозрачности не всей формы, а каждого пикселя в отдельности? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
Вот тут обсуждали похожий вопрос, но в разделе по делфи. http://forum.vingrad.ru/index.php?show_typ...howtopic=155304
Думаю проблем по переносу быть не должно. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Огромное спасибо! =) С этим я наверное разберусь. Остался еще один вопрос: как по png картинке определить какая прозрачность у каждого пикселя? К слову png я загружаю с помощью PNGImage. Если можно это сделать проще, раскажите пожалуйста =) |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
У него есть свойство AlphaScanLine - которое возвращает указатель на строку (массив байтов) Каждый байт - степень прозрачности от 0..255 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
||||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Помогите пожалуйста разобраться с GDI+. Как его подключить в builder-е?
Целый день парился, но так ничего и не получилось... :( Нашел одну страничку: GDI+. Сделал все как там написано и все равно вылетает ошибка... [C++ Warning] GdiplusHeaders.h(582): W8022 'Bitmap::Clone(const Rect &,int)' hides virtual function 'Image::Clone()' [C++ Error] GdiplusGraphics.h(34): E2015 Ambiguity between 'Gdiplus::Graphics::Graphics(void *)' and 'Gdiplus::Graphics::Graphics(void *,int)' В чем дело? Это сообщение отредактировал(а) Superklug - 23.7.2007, 19:28 |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Так я и не смог сделать полупрозрачную форму, по png... Помогите пожалуйста. Я уже голову сломал. =(
|
|||
|
||||
| _pussbb |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 7.12.2006 Репутация: нет Всего: нет |
может стоит попробывать
|
|||
|
||||
![]()
|
| Правила форума "С++ 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. |