Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прозрачность формы и TImage


Val ©   (2002-02-04 18:31:00) 

Подскажите пожалуйста направление в решении данной проблемы: на форме располагаю TImage с рисунком неправильной формы, фон прозрачен, но когда делаю прозрачной форму, на которой находится TImage - фон TImage остается серым(цвет формы). Хотелось бы этого избежать и получить прозрачный фон в TImage. Спасибо заранее за любую полезную информацию.


Nikolay   (2002-02-09 14:36:00) [1]

работа с регионами

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;


Poirot   (2002-02-09 04:07:00) [2]

Люди!!! Извините за вторжение... Но как эту фигню, т.е прозрачность сделать без регионов... А?
И если кто знает, как это реализуется в FlashGet 1.1


MBo   (2002-02-05 14:09:00) [3]

видел как-то exotica - xls(Excel)-прилада делает регион из bmp


MJH   (2002-02-05 13:10:00) [4]

короче - только регионами
заходи на mjh.nm.ru - там есть пример который тебе нужен (курсач какой-то)


Val   (2002-02-05 10:21:00) [5]

Delphi 5, но ,быть может, я вообще двигаюсь неверным путем и подобные Form нужно делать с помошью комбинирования регионов, до получения необходимой формы Form, а затем накладывать рисунок, фон которого просто будет пропадать, поскольку не будет внутри Form? Дело в том что рисунок довольно-таки сложной неправильной формы, и комбинирование займет очень много времени, поэтому может все таки как-то можно использовать прозрачность?


FOD   (2002-02-04 18:59:00) [6]

А у тебя какая версия Delphi?


Val   (2002-02-04 18:51:00) [7]

Дело в том, что форма делается прозрачной в рантайм с помошью регионов(пример из FAQ) и установка свойства Transparent у TImage не производит никакого результата.


FOD   (2002-02-04 18:36:00) [8]

Попробуй удалить рисунок и сначала сделать прозрачной форму, а потом вставляй рисунок и делай его прозрачным...


Наверх

Титульная страница Поиск, карта сайта Написать письмо