hallo,
ich habe folgendes Problem:
ich möchte eine TGraphic-Komponente schreiben, mit deren Hilfe ich SVG-Grafiken in einem TImage-Objekt anzeigen kann. Das funktioniert soweit auch ganz gut allerdings, allerdings finde ich auf TGraphic-Ebene keinen Zugriff auf die Stretchinformationen des beinhaltenden TImage (oder TPaintbox oder was auch immer)-Objekt. Diese Information benötige ich aber um zu entscheiden, ob die SVG-Grafik hoch oder runterskaliert werden soll oder in Original-Größe angezeigt werden soll.
Kann mir jemand helfen, wie ich in der Draw-Funktion von TGraphic an die Informationen gelange, ob das beinhaltende TImage-Objekt gestretched gezeichnet werden soll? Vielleicht ist diese Information ja irgendwie in den Parametern der Funktion "
TGraphic.Draw(ACanvas: TCanvas; const Rect: TRect)" verborgen.
Vielen Dank für Eure Hilfe,
flippinho
Delphi-Quellcode:
procedure TRSVG_Graphic.Draw(ACanvas: TCanvas; const Rect: TRect);
begin
if FExportPRsvgHandle <> nil then begin
Export_rsvg_handle_render_cairo(FExportPRsvgHandle,
ACanvas.handle,
point(Rect.Right-Rect.Left,Rect.Bottom-Rect.Top),
true ); // Stretch ja oder nein ??
end;
end;