• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Tbitmap

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

Onegin

Вот код:
Код:
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

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

Onegin

Почитайте 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;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!