![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скопировать рисунок из канвы в буфер
Vinum © (2008-01-23 22:44:00)Приветствую всех.
Собсно сабж :) Подскажите пожалуйста, в книге по KOL не нашел
Vinum (2008-01-24 18:44:00) [1]Спасибо огромное
Vladimir Kladov (2008-01-24 15:18:00) [2]bmp.Create;
bmp := NewBitmap...
Vinum (2008-01-24 15:11:00) [3]Я так и хотел, но у меня ума не хватило скопировать на временный битмап,
на панели очень много всего нарисовано, чтоб не переписывать всё рисование по отношению к битмапу, а сразу, одной-двумя командами скопировать всю канву панели в битмап, так можно?
например я пишу
procedure TForm1.Panel1Paint(Sender: PControl; DC: HDC);
begin
with sender.Canvas^ do
begin
brush.color:=$ffffff;
rectangle(0,0,300,300);
pen.Color:=0;
moveto(100,10);
lineto(50,50);
end;
end;
procedure TForm1.Button1Click(Sender: PObj);
var dst,src:trect;
begin
dst.Left:=0;
dst.Top:=0;
dst.TopLeft.X:=0;
dst.TopLeft.Y:=0;
dst.BottomRight.X:=300;
dst.BottomRight.Y:=300;
src.Left:=0;
src.Top:=0;
src.TopLeft.X:=0;
src.TopLeft.Y:=0;
src.BottomRight.X:=300;
src.BottomRight.Y:=300;
bmp.Create;
bmp.Width:=300;
bmp.Height:=300;
bmp.Canvas.CopyRect(dst,panel1.Canvas,src);
bmp.CopyToClipboard;
end;
и ничего не происходит, только программа вылетает
Подскажите пожалуйста.
Дмитрий К (2008-01-24 01:46:00) [4]Например, скопировать на временный bitmap и воспользоваться методом CopyToClipboard.