AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen

Ein Thema von Sherlock · begonnen am 29. Jul 2016 · letzter Beitrag vom 1. Aug 2016
Antwort Antwort
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.765 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen

  Alt 29. Jul 2016, 13:48
Ich weiss nicht genau, wie man das Problem/Verhalten bezeichnet, ich versuchs mal zu beschreiben:
Ich habe mit FMX eine Anwendung geschrieben, die auf ein Bitmap zeichnet. Das Zeichnen soll möglichst in Originalgröße geschehen (es geht um einige cm, keine Sorge). Dazu kann ich unter Windows bisher Problemlos die dpi per TDeviceDisplayMetrics.PixelsPerInch abfragen und durch 2,54 teilen, schon habe ich PixelsPerCentimeter (ppc). Fein. Wenn ich jetzt also etwas auf den Canvas des Bitmaps zeichne, dann immer mit dem Faktor für ppc kombiniert, und das klappt prima. Jetzt hab ich die Anwendung zum Test auf MacOS ausgeführt und alles ist viel zu groß. Ich verstehe ungefähr, was los ist, aber ich weiß nicht wie ich das korrigiere. Mein MacBook hat eine native Auflösung von 2880x1800. Bei 15" macht das 226 dpi, die meine Anwendung übrigens auch tatsächlich so erhält. Leider ist es aber so, daß MacOS eine "logische" Auflösung von 1440x900 "bereitstellt". Was ich darauf male wird viel zu groß angezeigt. Wie kann ich das berücksichtigen/korrigieren? Ich bin normalerweise was Google betrifft nicht ganz hilflos, aber meine Suchanfragen führen immer wieder nur zu HighDPI Themen, die komplette Applikationen und Komponentengrößen und Manifestdateien betreffen. Ich will aber nur wissen, wie ich den entsprechenden Umrechnungsfaktor beim Zeichnen in die Bitmap herausfinden, und berücksichtigen kann. Es muss vermutlich irgendwo auch bei den TDeviceDisplayMetrics zu finden sein, aber das ist ungefähr so gut Dokumentiert wie ...naja, wie halt sonst alles von Emba

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen

  Alt 29. Jul 2016, 14:26
Was du vermutlich suchst ist:

Delphi-Quellcode:
var
  DeviceSvc: IFMXDeviceMetricsService;
...
DeviceSvc.GetDisplayMetrics.ScreenScale
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.765 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen

  Alt 29. Jul 2016, 14:38
Gnarf...so nah, daß ichs übersehen hatte

Aber hmmm, es ist ein wenig besser, wenn ich jetzt meine ppc (PixelProCentimeter) durch ScreenScale teile ...aber wirklich nur ein wenig. Erst wenn ich durch doppelte ScreenScale dividiere passt es wirklich. Das ist...mysteriös und ungünstig. Denn wenn ScreenScale=1, dann stimmt alles zu 100% und ich sollte nicht die ScreenScale verdoppeln. Hmmmm, irgendwie hab ich eventuell noch einen Denkfehler.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.765 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen

  Alt 29. Jul 2016, 14:58
OK, jetzt teile ich wo es sein muss durch das Quadrat von ScreenScale und es passt. Schriftgröße wird direkt durch ScreenScale geteilt, das stimmt dann auch. ein bisschen komisch, aber es geht jetzt zuverlässig auf allen Systemen.

Danke bra!!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#5

AW: FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen

  Alt 29. Jul 2016, 18:26
mach doch bitte mal ein MiniTestProjekt wo auf einem FMX Form ein paar Quadratesind und ein paar Labels mit InfoText wie (groß) es wie aus sehen soll.
Dann noch einen Screenshot von deinem Mac(Book) und wir haben alle was zu probieren

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: FMX Umgang mit MacOS und vermutlich auch iOS Auflösungen

  Alt 30. Jul 2016, 07:27
Das ding mit der retina Auflösung ist folgendes...

Gerechnet wird immer mit der Auflösung 1:1, Die Bilder müssen aber für Scale 2 oder 3 (6+) oder auch Android (1,5)
in entsprechender Auflösung vorliegen.

Beispiel:

300x300 pixel image.
Image muss 300x300 sein. Dann option nicht auf fit, sondern auf original und das Multiresbitmap belegen mit der Scalierung.

Mavarik
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz