Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   [firemonkey] - Pixeldichte erhöhen (https://www.delphipraxis.net/184668-%5Bfiremonkey%5D-pixeldichte-erhoehen.html)

stoxx 13. Apr 2015 13:33

[firemonkey] - Pixeldichte erhöhen
 
Ich habe hier ein Gerät mit 720 x 1280 Pixeln. (echten physischen Bildpunkten)

Dennoch hab ich in meiner Firemonkey Anwendung nur 360x615 Bildpunkte zur Verfügung. (self.width x self.heigth)
Bilder und Schriften sind dadurch unnötig unscharf, was nicht sein müsste.

Jetzt findet man im Netz an 2 Stellen eine dubiose 160 ppi, welche Firemonkey maximal untestützten würde.
Was ich mir aber nicht vorstellen kann, dann wäre das ganze Firemonkey Framework eigentlich recht ungeeignet für noch neuere Gerätegenerationen.

Weiß jemand, wie man die Pixeldichte höher einstellen kann?
Recht vielen Dank!

Mavarik 13. Apr 2015 13:42

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von stoxx (Beitrag 1297509)
Ich habe hier ein Gerät mit 720 x 1280 Pixeln. (echten physischen Bildpunkten)

Dennoch hab ich in meiner Firemonkey Anwendung nur 360x615 Bildpunkte zur Verfügung. (self.width x self.heigth)
Bilder und Schriften sind dadurch unnötig unscharf, was nicht sein müsste.

Jetzt findet man im Netz an 2 Stellen eine dubiose 160 ppi, welche Firemonkey maximal untestützten würde.
Was ich mir aber nicht vorstellen kann, dann wäre das ganze Firemonkey Framework eigentlich recht ungeeignet für noch neuere Gerätegenerationen.

Weiß jemand, wie man die Pixeldichte höher einstellen kann?
Recht vielen Dank!

emm...

Firemonkey arbeitet immer mit Auflösung 1...

Bedeutet, wenn Du ein Image auf Vollbild machst brauchst Du die Auflösung 360x615
dieses wird dann hochskalliert. Damit das nicht passiert, kannst Du das gleiche bild in doppelter 2x auch noch hinlegen.
(1.5x,2.5x,3.0x) geht natürlich auch... FMX nimmt dann das Bild welches am besten passt.
Das gleiche gilt auf für die Styles die gibt es in 1x 2x 3x (XE8)
Deine Clientwidth ändert sich nicht... Das ist für die Interne Berechnung immer gleich...

Mavarik

stoxx 13. Apr 2015 13:56

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von Mavarik (Beitrag 1297510)
emm...

Firemonkey arbeitet immer mit Auflösung 1...

Bedeutet, wenn Du ein Image auf Vollbild machst brauchst Du die Auflösung 360x615
dieses wird dann hochskalliert. Damit das nicht passiert, kannst Du das gleiche bild in doppelter 2x auch noch hinlegen.
(1.5x,2.5x,3.0x) geht natürlich auch... FMX nimmt dann das Bild welches am besten passt.
Das gleiche gilt auf für die Styles die gibt es in 1x 2x 3x (XE8)
Deine Clientwidth ändert sich nicht... Das ist für die Interne Berechnung immer gleich...

Mavarik

ich denke, wir reden aneinander vorbei.
Hier näheres zur Thematik unter native Android.

http://developer.android.com/guide/p...t.html#support

Der interne Firemonkey Scale Faktor ist mir dabei erstmal unwichtig.
Wenn ich ein Bild mit 1024 x 800 Punkten habe, kann ich das nicht in hochauflösender Darstellung auf dem Bildschirm bringen, da ich ja nur 360 x 615 Bildpunkte habe.

Es geht auch hauptsächlich um Schriften, die im Firemonkey mit 160 ppi nicht so gestochen scharf dargestellt werden, wie mit einer Android Anwendung.

Delphi würde demnach nur mdpi unterstützen, hdpi, xhdpi usw. würden gänzlich fehlen.

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

Mavarik 13. Apr 2015 14:38

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von stoxx (Beitrag 1297514)
ich denke, wir reden aneinander vorbei.
Hier näheres zur Thematik unter native Android.

http://developer.android.com/guide/p...t.html#support

Der interne Firemonkey Scale Faktor ist mir dabei erstmal unwichtig.
Wenn ich ein Bild mit 1024 x 800 Punkten habe, kann ich das nicht in hochauflösender Darstellung auf dem Bildschirm bringen, da ich ja nur 360 x 615 Bildpunkte habe.

Der link zu Android hat NIX mit Firemonkey zu tun...

Nochmal... Deine 360x615 ist lediglich eine interne Rechengrundlage. Wenn Du eine native Auflösung hast die 4x hoher ist, musst Du die Grafiken auch 4x so groß hin legen... Die werden dann auch verwendet... Da die Styles auch "nur" Grafiken sind gilt das hier auch!

Welche Delphi Version verwendest Du?

stoxx 13. Apr 2015 15:42

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von Mavarik (Beitrag 1297517)

Der link zu Android hat NIX mit Firemonkey zu tun...

najaa .. auch bei Multiplatformentwicklung würden ein paar Grundlagen der darunterliegenden Betriebssysteme nicht schaden *zwinker*


Zitat:

Zitat von Mavarik (Beitrag 1297517)
Nochmal... Deine 360x615 ist lediglich eine interne Rechengrundlage. Wenn Du eine native Auflösung hast die 4x hoher ist, musst Du die Grafiken auch 4x so groß hin legen... Die werden dann auch verwendet... Da die Styles auch "nur" Grafiken sind gilt das hier auch!

Welche Delphi Version verwendest Du?

Du verwechest da was grundsätzlich, oder bist Dir der Thematik gar nicht bewusst.
Streich einfach mal den Firemonkey Scale Faktor kurzzeitig aus Deinem Kopf.
Das ist nur dazu da, wenn man eine App für ein Handy entwickelt, dass diese nicht verschwommen auf einem Tablet aussehen würde, wenn man einfach hochscaliert.

Nimm einfach ein TImage, setz einen Button drauf, und gib Dir die Höhe und Breite des Bildes aus, selbst ein Bild mit 720x1280 Punkten wird runtergerechnet auf
360 x 615.
Eben halt auf mdpi.
Android stellt nur virtuelle Pixel zur Verfügung, je nach ppi Dichte, die man haben möchte bzw das gerät überhaupt unterstützen kann.
Und genau das möchte ich nicht, da heutige Displays viel höher auflösen können, als noch vor 3 Jahren.

Phoenix 13. Apr 2015 15:52

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von stoxx (Beitrag 1297534)
Zitat:

Zitat von Mavarik (Beitrag 1297517)

Der link zu Android hat NIX mit Firemonkey zu tun...

najaa .. auch bei Multiplatformentwicklung würden ein paar Grundlagen der darunterliegenden Betriebssysteme nicht schaden *zwinker*

Würden sie nicht und sollten sie eigentlich auch nicht. Aber Firemonkey abstrahiert Dich so weit von dem darunterliegenden Betriebssystem weg, dass es Dir egal zu sein hat, was daruner liegt, oder welche native Auflösung Dein Gerät jetzt kann.


Zitat:

Zitat von stoxx (Beitrag 1297534)
Nimm einfach ein TImage, setz einen Button drauf, und gib Dir die Höhe und Breite des Bildes aus, selbst ein Bild mit 720x1280 Punkten wird runtergerechnet auf
360 x 615. Eben halt auf mdpi.
Android stellt nur virtuelle Pixel zur Verfügung, je nach ppi Dichte, die man haben möchte bzw das gerät überhaupt unterstützen kann.
Und genau das möchte ich nicht, da heutige Displays viel höher auflösen können, als noch vor 3 Jahren.

Dann musst Du nativ für die Geräte entwickeln, und nicht eine unzulängliche Zwischenschicht reinziehen, die Dich zu zu einer Abstraktion zwingt.

stoxx 13. Apr 2015 16:32

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von Phoenix (Beitrag 1297539)
Würden sie nicht und sollten sie eigentlich auch nicht. Aber Firemonkey abstrahiert Dich so weit von dem darunterliegenden Betriebssystem weg, dass es Dir egal zu sein hat, was daruner liegt, oder welche native Auflösung Dein Gerät jetzt kann.


das Betriebssystem wäre mir in der Tat egal, aber das technische Gerät darunter interessiert mich dann allerdings schon.
"Der Unterschied zwischen Theorie und Praxis ist in der Praxis weit höher als in der Theorie."


Zitat:

Zitat von Phoenix (Beitrag 1297539)
Dann musst Du nativ für die Geräte entwickeln, und nicht eine unzulängliche Zwischenschicht reinziehen, die Dich zu zu einer Abstraktion zwingt.

:gruebel:
Oder ich suche nach Lösungen, die unzulänglichkeit zu beheben? Was hälst Du davon? Ich stellte doch lediglich die Frage, welche Möglichkeiten es gibt, die Pixeldichte zu erhöhen.


.

Mavarik 13. Apr 2015 17:53

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von stoxx (Beitrag 1297534)
Du verwechest da was grundsätzlich, oder bist Dir der Thematik gar nicht bewusst.
Streich einfach mal den Firemonkey Scale Faktor kurzzeitig aus Deinem Kopf.
Das ist nur dazu da, wenn man eine App für ein Handy entwickelt, dass diese nicht verschwommen auf einem Tablet aussehen würde, wenn man einfach hochscaliert.

Nimm einfach ein TImage, setz einen Button drauf, und gib Dir die Höhe und Breite des Bildes aus, selbst ein Bild mit 720x1280 Punkten wird runtergerechnet auf
360 x 615.
Eben halt auf mdpi.

Boh ej...

Vergiss doch mal den VCL-Quark ein Image ist so groß wie die Dimension des Images...

Deswegen nennt sich das ja MultiResBitmap... Weil Du da ein Image mit der doppelten Größer oder einem Vielfachen angeben kannst und dann werden die Pixel nativ angesprochen...

stoxx 16. Apr 2015 17:31

AW: [firemonkey] - Pixeldichte erhöhen
 
Zitat:

Zitat von Mavarik (Beitrag 1297563)

Boh ej...

Vergiss doch mal den VCL-Quark ein Image ist so groß wie die Dimension des Images...

Deswegen nennt sich das ja MultiResBitmap... Weil Du da ein Image mit der doppelten Größer oder einem Vielfachen angeben kannst und dann werden die Pixel nativ angesprochen...

Zum ersten, ich rede nicht von VCL, sondern von einem TImage unter Firemonkey.
Dachte das wäre klar, dass man unter Android keine VcL zum laufen bringt.

Und muss ich Dir wirklich erst mit einem nativen Android Screenshot beweisen, und ein Treppchen Bild malen, damit du dann gezoomt die effektiven Pixel auszählen kannst, damit Du glaubst, dass Du auf dem Holzweg bist?
aber richtig gewaltig auf dem Holzweg.

und warum hat dann das gleiche TImage unter Windowas viel mehr effektive Pixel?
Das sollte Dir zu denken geben.
Was ist denn überhaupt Dein Gerät mit der höchsten ppi Dichte, damit du das mal testen kannst?
PPI = Pixel pro Inch

Deine von Dir gern aber leider falsch zitierten Multiresbitmaps haben damit gar nix zu tun, sondern diese kommen lediglich zum Tragen, wenn Du mit den Scale Faktoren arbeitest (und/oder mit TLayouts)

stoxx 16. Apr 2015 18:10

AW: [firemonkey] - Pixeldichte erhöhen
 
vielleicht machts ja mit folgedem Beispiel "klick"?

wenn also mein TImage eine Dimension von 360 x 615 Punkten hat, mein Gerät aber bei einem 5 Zoll Display eine Auflösng von 1280 x 720
Nun .. da sollte eigentlich ersichtlich sein, dass da Punkte fehlen.
Oder wie würdest du den 361 sten Bildpunkt von Hand rot darstellen wollen?
oder den 500 sten?

und wo lägen die Punkte vor allen Dingen dann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Seite 1 von 3  1 23      

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