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

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

Как скопировать рисунок из канвы в буфер


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.


Наверх

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