Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2014, 22:04   #1
AlexDn
Пользователь
 
Регистрация: 02.10.2009
Сообщений: 93
По умолчанию Сделать image полупрозрачным

На форме есть image. Можно ли его сделать полупрозрачным, или AlphaBlendValue есть только у формы?
AlexDn вне форума Ответить с цитированием
Старый 08.12.2014, 23:37   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Поколдовать с форматом PNG. Вроде у того есть альфа-канал.
Человек_Борща вне форума Ответить с цитированием
Старый 09.12.2014, 00:02   #3
exyl
Пользователь
 
Регистрация: 15.11.2014
Сообщений: 75
По умолчанию

Вообще полупрозрачность можно установить любому ТВинКонтролу (TImage им не является), но я бы крайне не советовал этого делать указанным ниже способом, ибо изврат, еретизм и лучше использовать специально под это дело написанные компоненты.

Код:
var
  Wnd: TWinControl;
begin
  Windows.SetParent(Wnd.Handle, 0);
  SetWindowLong(Wnd.Handle, GWL_EXSTYLE, WS_EX_LAYERED + WS_EX_TOOLWINDOW);
  SetLayeredWindowAttributes(Wnd.Handle, $000000, AlphaBlendValue, LWA_ALPHA);
end;

Последний раз редактировалось exyl; 09.12.2014 в 00:04.
exyl вне форума Ответить с цитированием
Старый 10.12.2014, 08:27   #4
WhiskasTM
Подтвердите свой е-майл
 
Регистрация: 11.04.2012
Сообщений: 85
По умолчанию

А вот в TTaskDialog с tfExpandFooterArea есть открывающаяся панель, которая как раз таки плавно затухает и появляется вновь. Ну или по желанию даже текст (аля копирование в проводнике когда кликаешь "show details"). Сделано в недрах виндоуса, как - неизвестно. Короче прозрачность на дочерние контролы есть где-то или как-то. dwmapi?
WhiskasTM вне форума Ответить с цитированием
Старый 11.12.2014, 06:46   #5
exyl
Пользователь
 
Регистрация: 15.11.2014
Сообщений: 75
По умолчанию

Цитата:
Сообщение от WhiskasTM Посмотреть сообщение
А вот в TTaskDialog с tfExpandFooterArea есть открывающаяся панель, которая как раз таки плавно затухает и появляется вновь. Ну или по желанию даже текст (аля копирование в проводнике когда кликаешь "show details"). Сделано в недрах виндоуса, как - неизвестно. Короче прозрачность на дочерние контролы есть где-то или как-то. dwmapi?
Ну вообще, если обратить внимание на то, что в vcl скрывается за константами типа clRed, то можно увидеть такое число: $000000FF. Последние две FF - отвечают как раз за красный в получаемом цвете. То же самое для еще двух основных цветов (зеленый и синий). А зачем нужны еще два ноля в начале? А вот их можно использовать под прозрачность. И, если мне не изменяет память, то в какой-то из графических библиотек, типа GDI+, так оно и сделано.
Мы в конторе как-то разрабатывали графический интерфейс к уже готовой программе заказчика и занимались всякими затухающими кнопками, градиентными панельками и прочим. Все эффекты запускались в своих потоках, чтоб не мешать работать основному приложению и иметь возможность отображать большое количество эффектов одновременно.
Как это реализовано в виндоуз и есть ли портированные библиотеки для работы с этим делом, я не в курсе.
exyl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать image в клетку s2df Помощь студентам 3 17.05.2013 07:51
Delphi сделать Image прозрачным StudentMarat Помощь студентам 0 22.01.2013 18:51
Как сделать снимок с Image? Andrey770 Общие вопросы Delphi 3 14.03.2012 00:16
Работа с image хз как лучше сделать. winner13 Мультимедиа в Delphi 3 25.04.2011 09:42
как сделать Класс типа Image SevenXP Общие вопросы Delphi 13 19.09.2010 13:13