![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не пойму как работает 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