Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: max. TBitmap FMX vs. VCL

  Alt 23. Aug 2020, 17:50
Es hängt tatsächlich von der verwendeten Canvas-Klasse ab. Man kann da leider nur global drauf Einfluss nehmen.

Standardmäßig wird die TcanvasD2D Klasse verwendet, wenn man die ausschaltet, dann wird TCanvasGDIPlus verwendet, das funktioniert zumindest unter Windows und Linux (MACOS habe ich nicht ausprobiert).

Wenn man also in der .DPR-Datei, direkt als ersten Befehl

 GlobalUseDirect2D := false; eingebt (also noch vor "Application.Initialize"), kann man Grafiken in der Größe 65000x65000 Bildpunkte erzeugen und verarbeiten, siehe anliegenden Screenshot (mit Source-Code) ein geladenes Bild unter Linux mit 21.600 x 10.800 Bildpunkten (größeres Bild habe ich gerade nicht zur Hand).

Dafür muss noch die Unit FMX.Types in die DPR-Datei eingebunden werden.

Die Nichtverwendung von Direct2D wird allerdings nachteilige Auswirkungen auf die allgemeine Performance der App haben, wie groß, müsstest Du prüfen. Unter Umständen könnte man dann überlegen, eine Extra App zu machen, welche für die Verarbeitung dieser großen Bild-Dateien zuständig ist (und dann eben nur dieser Part etwas langsamer wäre).
Miniaturansicht angehängter Grafiken
bigimage.jpg  

Geändert von Harry Stahl (23. Aug 2020 um 18:03 Uhr)
  Mit Zitat antworten Zitat