Einzelnen Beitrag anzeigen

cocsy

Registriert seit: 12. Jul 2011
30 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Direct2D.Canvas in einer Bitmap speichern

  Alt 17. Mär 2023, 16:01
Das neue Bing sagt u.a. das hier:

Delphi-Quellcode:
procedure SaveDirect2DCanvasAsPNG(const FileName: string; const Canvas: TDirect2DCanvas);
var
  png: TPngImage;
begin
  png := TPngImage.CreateBlank(COLOR_RGBALPHA, 8,
    Canvas.RenderTarget.Size.Width,.
    Canvas.RenderTarget.Size.Height);
  try
    Canvas.RenderTarget.GetPixelData(PixelFormat32bppPBGRA,
      png.Scanline[0], png.Height * png.BytesPerScanline);
    png.SaveToFile(FileName);
  finally
    png.Free;
  end;
end;
das Funktioniert leider nicht

ich verwende die Vcl.Direct2D; , welche beim RenderTarget nur ein Interface zurückgibt property RenderTarget: ID2D1RenderTarget read GetRenderTarget; dadurch fehlen mir einige Funktionen wie GetPixelData
Grundsätzlich geht der Ansatz in die richtige Richtung, daher danke für die Hilfe
Jan
  Mit Zitat antworten Zitat