Как вырезать прямоугольник из Image в Буфер Обмена

Тема в разделе "Delphi", создана пользователем WinHack, 28 ноя 2016.

  1. WinHack
    Вырезание изображения в буфер обмена это то же самое, что и копирование, но также выполняется удаление изображения из источника.

    Код:
    procedure CutToClipboard
        (AnImage:TImage; ARect:TRect) ;
     var b:TBitmap;
     begin
       // сначала копируем
       b:=TBitmap:Create;
       try
         b.Width := ARect.Width;
         b.Height := ARect.Height;
         CopyRect(Rect(0,0,b.Height,b.Width),
                  AnImage.Canvas, ARect) ;
         Clipboard.Assign(b)
       finally
         b.Free
       end;
       // затем вырезаем
       with AnImage.Canvas do
        begin
         CopyMode := cmWhiteness;
         CopyRect(ARect, AnImage.Canvas, ARect) ;
         CopyMode := cmSrcCopy;
        end;
     end;