Форум: "Media";
Текущий архив: 2002.06.20;
Скачать: [xml.tar.bz2];
ВнизПрозрачность формы и TImage Найти похожие ветки
← →
Val (2002-02-04 18:31) [0]Подскажите пожалуйста направление в решении данной проблемы: на форме располагаю TImage с рисунком неправильной формы, фон прозрачен, но когда делаю прозрачной форму, на которой находится TImage - фон TImage остается серым(цвет формы). Хотелось бы этого избежать и получить прозрачный фон в TImage. Спасибо заранее за любую полезную информацию.
← →
FOD (2002-02-04 18:36) [1]Попробуй удалить рисунок и сначала сделать прозрачной форму, а потом вставляй рисунок и делай его прозрачным...
← →
Val (2002-02-04 18:51) [2]Дело в том, что форма делается прозрачной в рантайм с помошью регионов(пример из FAQ) и установка свойства Transparent у TImage не производит никакого результата.
← →
FOD (2002-02-04 18:59) [3]А у тебя какая версия Delphi?
← →
Val (2002-02-05 10:21) [4]Delphi 5, но ,быть может, я вообще двигаюсь неверным путем и подобные Form нужно делать с помошью комбинирования регионов, до получения необходимой формы Form, а затем накладывать рисунок, фон которого просто будет пропадать, поскольку не будет внутри Form? Дело в том что рисунок довольно-таки сложной неправильной формы, и комбинирование займет очень много времени, поэтому может все таки как-то можно использовать прозрачность?
← →
MJH (2002-02-05 13:10) [5]короче - только регионами
заходи на mjh.nm.ru - там есть пример который тебе нужен (курсач какой-то)
← →
MBo (2002-02-05 14:09) [6]видел как-то exotica - xls(Excel)-прилада делает регион из bmp
← →
Poirot (2002-02-09 04:07) [7]Люди!!! Извините за вторжение... Но как эту фигню, т.е прозрачность сделать без регионов... А?
И если кто знает, как это реализуется в FlashGet 1.1
← →
Nikolay (2002-02-09 14:36) [8]работа с регионами
Var
X1,X,Y: Integer;
begin
X1 := -1;
R := CreateRectRgn(0,0,0,0);
ImageFormMain.Picture.LoadFromFile("11.bmp");
FormMain.BorderStyle := bsNone;
FormMain.Height := ImageFormMain.Picture.Bitmap.Height;
FormMain.Width := ImageFormMain.Picture.Bitmap.Width;
With ImageFormMain.Picture.Bitmap Do
For Y := 0 To Height-1 Do
For X := 0 To Width-1 Do
If Canvas.Pixels[X,Y] <> Canvas.Pixels[0,0] Then
Begin If X1=-1 Then X1 := X; End
Else
If X1>-1 Then
Begin
CombineRgn(R,R,CreateRectRgn(X1,Y,X-1,Y+1),RGN_OR);
X1 := -1;
End;
SetWindowRgn(Handle, R, True);
// SetWindowLong(Handle, GWL_EXSTYLE, WS_EX_LAYERED);
end;
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2002.06.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c