Tbitmap

  • Автор темы Onegin
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

Onegin

#1
Вот код:
Код:
Var
Bitmap: TBitmap;
W,H:integer;
begin
if dSaveGraph.Execute then
begin
Bitmap:=TBitmap.Create;
W:=pbGraph.Width;
H:=pbGraph.Height;
Bitmap.Height:=H;
Bitmap.Width:=W;
Bitmap.Canvas.CopyRect(Rect(0,0,H,W),pbGraph.Canvas,Rect(0,0,H,W));
Bitmap.SaveToFile(dSaveGraph.FileName);
Bitmap.Free
end;
end;
Сохраняет картинку не полностю, слева обрубивает.
pbGraph - PaintBox
 
B

Barmutik

#2
Почитайте HELP по поводу функции CopyRect .. а вернее её параметра типа TRect .. и посмотрите каким образом Вы задаёте размеры для вашей области для копирования... не стоит путать длину и ширину местами и всё будет работать как надо ...
 
O

Onegin

#3
Почитайте HELP по поводу функции CopyRect .. а вернее её параметра типа TRect .. и посмотрите каким образом Вы задаёте размеры для вашей области для копирования... не стоит путать длину и ширину местами и всё будет работать как надо ...
Спасибо, помогло.
Но вот распечатать не выходить, принтер выдает чистый лист.
if dPrintGraph.Execute then
begin
Printer.BeginDoc;
W:=pbGraph.Width;
H:=pbGraph.Height;
Printer.Canvas.CopyRect(Rect(0,0,W,H),pbGraph.Canvas,Rect(0,0,W,H));
Printer.EndDoc;
end;
 
Статус
Закрыто для дальнейших ответов.