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

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

Не пойму как работает CopyMode у TCanvas [D7, Win2k, WinXP]


Vladimir D Belousov ©   (2005-04-30 15:13:00) 

Добрый день!

Хочу скопировать битмап на форму, с эффктом наложения, но что-то делаю не так:

Var B: TBitmap;

begin
B:=Graphics.TBitmap.Create;
B.Width:=Form1.ClientWidth;
B.Height:=Form1.ClientHeight;
B.Transparent := true;
B.TransparentColor:=clWhite;
//Подразумевается, что я залью избражение прозрачным цветов - очищу её
B.Canvas.Brush.Color:=B.TransparentColor;
B.Canvas.FillRect(B.Canvas.ClipRect);
B.Canvas.Brush.Color:=clBlack;
B.Canvas.MoveTo(10,10);
B.Canvas.LineTo(100,100);
//Подозреваю что тут ошибка, но Combines the image on the canvas and the source bitmap by using the Boolean OR operator - то, что мне надо
B.Canvas.CopyMode:=cmSrcPaint;
Form1.Canvas.CopyRect(B.Canvas.ClipRect,B.Canvas,Form1.Canvas.ClipRect);
end;

Вот такой простой пример копирует B.Canvas на канву формы.
При это то, что было на канве формы - исчезает под скпированным изображением.

В чем я не прав?

Большое спасибо!


Kind   (2005-05-02 18:50:00) [1]

или BitBlt с SRCAND; SRCPAINT;


AlterEgo of WondeRu   (2005-05-02 18:33:00) [2]

используй StretchBlt+ StretchBltMode


Наверх

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