Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.20;
Скачать: CL | DM;

Вниз

Прозрачность формы и 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 вся ветка

Текущий архив: 2002.06.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
1-65072
Alexy
2002-06-10 12:22
2002.06.20
Как распечатать TImage???


3-64996
PSA
2002-05-29 09:15
2002.06.20
ADO & Thread


7-65255
Shadow77
2002-03-22 09:10
2002.06.20
Проблема с кодировкой


14-65219
MisterBin
2002-05-17 21:34
2002.06.20
Без каких программ вы не можете обойтись?


3-64934
fishka
2002-05-24 12:05
2002.06.20
INTERBASE и CONSTRAINT