Форум: "Начинающим";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
ВнизКак сделать компонент image1 на форме полупрозрачным Найти похожие ветки
← →
Don (2009-11-01 19:53) [0]Здравствуйте. Где-то читал, что можно с помощью свойства альфабленд сделать прозрачным даже Image1 на форме, но небыло указано как.
Function SetLayeredWindowAttributes(hwnd: HWND; crKey: COLORREF; bAlpha:
byte; dwFlags: dword):bool; stdcall; external "USER32.DLL";
procedure TForm1.SetBlend(AlphaBlend:byte; wnd:hwnd);
var old: longint;
begin
old:=GetWindowLongA(wnd,GWL_EXSTYLE);
SetWindowLongA(wnd,GWL_EXSTYLE,old or $80000);
SetLayeredWindowAttributes(wnd, 0, AlphaBlend, $2);
end;
SetBlend(100, image1.canvas.handle);
Это пример к сожалению не дает положительного результата. Может кто подскажет в чем причина, и как ее исправить. Буду очень благодарен.
← →
Юрий Зотов © (2009-11-01 20:14) [1]Сanvas.handle - это не тот хэндл. Здесь нужен хэндл окна, а у TImage никакого окна нет, так что все эти упражнения с Alpha заведомо бесполезны.
Все намного проще - у TImage есть свойство Transparent.
← →
Омлет. (2009-11-02 00:12) [2]> Юрий Зотов
Transparant - это полная прозрачность для какого-то одного цвета.
По теме - нужно вручную делать отрисовку с нужной прозрачностью. И для этого лучше использовать PaintBox и временный Bitmap, как минимум.
← →
Don (2009-11-04 15:03) [3]Вот кому интерестно нашел ришение:
procedure TForm1.Button1Click(Sender: TObject);
var
bmp:TBitmap;
bf:BLENDFUNCTION;
begin
bmp:=TBitmap.Create;
try
bmp.LoadFromFile("1.bmp");
bf.BlendOp:=AC_SRC_OVER;
bf.BlendFlags:=0;
bf.SourceConstantAlpha:=100;//величина прозрачности (0-255)
bf.AlphaFormat:=0;
Windows.AlphaBlend(Image1.Canvas.Handle, 0, 0, Image1.ClientWidth, Image1.ClientHeight,
bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, bf);
finally
bmp.Free;
end;
end;
Всем благодарен за ответы, всех благ, всего наилутшего.
← →
antonn © (2009-11-04 19:03) [4]аналог альфабленда, в той теме где уже бывал автор http://delphimaster.net/view/8-1253597355/
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c