![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как мне сделать Image полупрозрачным? [D6, Win95/98, Win2k, WinXP]
intell © (2003-12-07 09:32:00)Как мне сделать Image полупрозрачным так, чтобы под ним все процессы было видно? Т.е. допустим за Image показывается кино и нужно чтобы его было видно. При этом в Image у меня очищен розовый цвет (Transparent). Мне нужно это реализовать в Win98.
Mihey (2004-01-08 17:58:00) [1]>[Fatal Error] File not found: 'CEImage.pas'
И рук не хватает починить. С таким отношение ты путного никогда не найдёшь. Всё, я умываю руки с этого вопроса. Для себя в своё время я его решил. И тебе того же желаю. Не смею навязывать своё мнение.
Intell (2004-01-08 01:26:00) [2]Ошибся
не
rstransimg тоже не ставиться - оштбка в коде компонента Shape.
а diprodetranslib не ставиться, а на rstransimg подбираю пароль.
Intell (2004-01-08 01:24:00) [3]Mihey, спасибо, но:
ceceimage - его то я какраз и видел. Но не ставиться - [Fatal Error] File not found: 'CEImage.pas'
rstransimg тоже не ставиться - оштбка в коде компонента Shape.
rstransimg - подбираю пароль к архиву.
Mihey (2004-01-07 22:14:00) [4]2 Fenik:
Нет у него картинки. Нужно, чтобы компоненты были видны под всем этим делом.
2 Intell:
Качаем-с:
TCEImage (сырцов нет, но так бесплатный, с демкой откомпиляной)
http://www.torry.net/vcl/graphics/transparent/ceceimage.zip
TTransImage (бесплатный, оригинально для D3, но попробуй, юзает маску (grayscale))
http://www.torry.net/vcl/graphics/transparent/rstransimg.zip
TransLib
http://www.torry.net/vcl/graphics/effects/diprodetranslib.zip
Fenik (2004-01-07 21:55:00) [5]Есть у тебя картинка B1.
На неё нужно с прозрачностью наложить В2.
Ты вызываешь BlendBitmap(В1, В2...);
Затем рисуешь В2 где хочешь.
В примере В1 - это и есть тот FBitmap.
Fenik (2004-01-07 21:46:00) [6]>Intell © (07.01.04 21:08) [12]
>К тому же ни один код не работает. На ссылке Fenik код не работает - откуда-то появляется FBitmap...с чего ему там быть?
Срочная госпитализация!
FBitmap - это из примера использования, к процедуре отношения не имеет.
Я ведь всё подробно описал:
procedure BlendBitmap(Src, Dest: TBitmap; Amount: Byte; Left, Top: Integer; BackColor: TColor; Transparent: Boolean);
{Процедура установления уровня прозрачности
изображения Dest, расположенного над изображением Src.
Amount - уровень прозрачности в промежутке [0..255].
Left, Top - левый верхний угол Dest.
BackColor - цвет, который не нужно изменять,
если Transparent = True.}
Неужели не ясно как использовать?
Откуда у тебя руки растут?
Intell (2004-01-07 21:18:00) [7]Забыл сказать - у меня D6, поэтому не ставиться, говорит ошибка в строке Delphi
type
IFormDesigner = interface(IDesigner)//Здесь ошибка
Что за ошибка я не понимаю.
Intell (2004-01-07 21:08:00) [8]К тому же ни один код не работает. На ссылке Fenik код не работает - откуда-то появляется FBitmap...с чего ему там быть? И откуда он берётся? А TLayers не ставиться. Жалко блин...
Intell (2004-01-07 21:03:00) [9]А... Всё не то. Я как-то видел компонент - он изменяет прозрачность Image, при этом под Image всё видно(движущиеся компоненты и прочее). Так он не скачался - битый. Мне бы что-нибудь этакое нужно. Чтобы и просто, и эффективно. Может у кого такой компонент есть (названия не помню)? Или код, не такой как у Pentium !!!. Мне такой вариант совсем не подходит.
Mihey (2004-01-07 20:33:00) [10]А чё так???
Intell (2004-01-07 10:16:00) [11]Я так и не получил желаемого результата.
Intell (2003-12-08 08:01:00) [12]Странно. И у меня теперь заработало. Спасибо!
Mihey (2003-12-07 21:18:00) [13]> Mihey - твоя ссылка не работает.
Вот сейчас только всё проверял - работает. Странно...
intell (2003-12-07 20:26:00) [14]Спасибо всем, буду пытаться применить в моей ситуации!
Mihey - твоя ссылка не работает.
Mihey (2003-12-07 19:28:00) [15]Если нужно осуществить прозрачность так, чтобы изображение было прозрачным над другими компонентами, то используй TLayers, универсальный компонент, может всё:
http://www.hot.ee/compcoll/vcl.htm
Fenik (2003-12-07 19:04:00) [16]http://delphibase.endimus.com/?action=viewfunc&topic=mediaimg&id=10300
Pentium !!! :) (2003-12-07 16:48:00) [17]Какие проблемы...
Делаем в форме прозрачную область для БИТМАПА...
тока сам думай как, мне облом...
intell (2003-12-07 13:55:00) [18]Попробуем, хотя метод меня "Слегка" не устравиает. Т.к. Image должен лежать на главной форме, и форма обыкновенная.
Pentium !!! :) (2003-12-07 13:43:00) [19]Типа сначала делаем полностью прозрачную форму:
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited createparams(params);
{Здесь убираем у формы заголовки и границы}
params.style:=params.style or ws_popup xor ws_dlgframe;
end;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
formrgn:hrgn;
begin
form1.brush.style:=bsclear;
GetWindowRect(form1.Handle, rect(...........));
DeleteObject(formRgn);
formrgn:=
CreateroundRectRgn0,0,form1.width,form1.width,form1.width,form1.width); ///// или что-то такое........
SetWindowRgn(form1.Handle, formrgn, TRUE);
end;
Потом ставим ВИТМАП и делаем его прозрачным.....
Не потеряй свою форму на экране!