Naja makescreenshot nutzt das selbe wie ich:
Delphi-Quellcode:
function TControl.MakeScreenshot: TBitmap;
var
SceneScale: Single;
begin
if Scene <> nil then
SceneScale := Scene.GetSceneScale
else
SceneScale := 1;
Result := TBitmap.Create(Round(Width * SceneScale), Round(Height * SceneScale));
Result.BitmapScale := SceneScale;
Result.Clear(0);
if Result.Canvas.BeginScene then
try
PaintTo(Result.Canvas, TRectF.Create(0, 0, Result.Width / SceneScale, Result.Height / SceneScale));
finally
Result.Canvas.EndScene;
end;
end;
Das geht aber nur bei HD Formularen und nicht bei allem was TForm3D beinhaltet.
Christian