Einzelnen Beitrag anzeigen

Kai_in_HH

Registriert seit: 25. Jun 2008
Ort: Hamburg
59 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Problem mit FMX.TImage

  Alt 23. Mär 2021, 22:25
Dummerweise sagt docwiki.embarcadero nichts darüber.

Also mal ausprobiert und .... äh .... ja ne is klar. Wieso nicht gleich so?

Also in meinem Programm nehme ich ja die Screenskalierung (bei meinem Tablet 200%, Wert ist 2) und für die Bitmapskalierung rechne 1 / 2 = 0,5.
Meine Grafik, von der vorher nur der obere linke Quadrant zu sehen war (also doppelt so groß und hoch als ich es will), wird dann richtig angezeigt, wenn ich in den Formeln diesen Faktor (0,5) mit hinzuziehe.

Nehme ich den Faktor raus und verwende dafür BitmapScale, setze die Property schlicht und einfach 1 kommt es auch richtig.

Ich vermute also, dass der Wert BitmapScale aussagt in welchem Verhältnis die Bitmap innerhalb des TImage "gezoomt" werden soll. Aber eben nur gültig für Windows.

Bei Android? Vergiss es.
Hier muss mein alter Faktor in den Berechnungen immer noch vorher berechnet und gesetzt werden.

Also mal ganz ehrlich, was ist denn das für ein Mist! Da macht doch die geräteübergreifende Entwicklung keinen Spaß mehr.
Von einem Framework erwarte ich, dass es mir genau diese Pixelschubserei abnimmt.

Aber nein, da muss ich folgenden Code einbauen (anstatt einer IfDef-Orgie)

Delphi-Quellcode:
case TOSVersion.Platform of
  pfWindows: Begin
    Image1.Bitmap.BitmapScale := 1;
    PaintingScale := 1;
  End;
  pfAndroid: Begin
    PaintingScale := 1 / ScreenScaling;
  End;
end;
Zwei mal kompilieren muss ich ja sowieso, aber dann auch noch Gedanken machen müssen über Bildschirmauflösung, Skalierung etc.....ne ne ne.

Oh, wie einfach war da (ca 1986) noch die Programmierung mit TurboPascal für Windows 1.0 (ja, sogar da war ich schon bei Borland, war der erste Supporter dafür) unter Win 3.11.....OK, man musste alle Fensterhandles selber erzeugen und hatte ne Menge Pointer-Gefriggel....aber man wusste wenigstens was passiert.
Hier mit FMX weiß man vorher ja nicht mehr was passiert und wo ist denn da die Erleichterung? Boah ey...ich bin zu alt für so ne Scheiße.

Sorry, aber jetzt gehts mir besser.

Und ich werde weiter mit D10.3 und FMX rumspielen.
Und weiterhin nicht jugendfreie verbale Auswürfe von mir geben....
Kai
  Mit Zitat antworten Zitat