Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Einen Ausschnitt einer Metafile in eine Metafile kopieren.

  Alt 29. Aug 2014, 17:08
Einen Ausschnitt einer Metafile in eine Metafile kopieren.

Ich dachte eigentlich daß man das so eventuell machen könnte, geht aber nicht. Er kopiert so immer die ganze Metafile?

Delphi-Quellcode:
procedure TDrawPad.CopySelectedRectToClipboard(const SelectRect: TFloatRectEx);
var
  ppMM: double;
  Rect: TRect;
  MF: TMetaFile;
  MC: TMetaFileCanvas;
begin
  if SelectRect.Angle = 0 then
  begin
    ppMM := PlotDevice[csDefault].ppMM;
    Rect.Left := Round(ppMM * SelectRect.P1.X);
    Rect.Top := Round(ppMM * SelectRect.P1.Y);
    Rect.Right := Round(ppMM * SelectRect.P2.X);
    Rect.Bottom := Round(ppMM * SelectRect.P2.Y);
    MF := TMetaFile.Create;
    try
      MF.Width := Round(ppMM * SelectRect.Width);
      MF.Height := Round(ppMM * SelectRect.Height);
      MC := TMetaFileCanvas.Create(MF, 0);
      try
        MC.Draw(-Rect.Left, -Rect.Top, FMetaFile);
      finally
        MC.Free;
      end;
      Clipboard.Assign(MF);
      MF.SaveToFile('Test.emf');
    finally
      MF.Free;
    end;
  end;
end;
  Mit Zitat antworten Zitat