AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[firemonkey] - Pixeldichte erhöhen

Ein Thema von stoxx · begonnen am 13. Apr 2015 · letzter Beitrag vom 20. Apr 2015
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#1

[firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 14:33
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!
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 14:42
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
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#3

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 14:56
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
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.

Geändert von stoxx (13. Apr 2015 um 14:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 15:38
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?
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#5

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 16:42

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*


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.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.

Geändert von stoxx (13. Apr 2015 um 16:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#6

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 16:52

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.


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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#7

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 17:32
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."


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

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.


.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 13. Apr 2015, 18:53
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...
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#9

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 16. Apr 2015, 18:31

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)
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.

Geändert von stoxx (16. Apr 2015 um 19:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#10

AW: [firemonkey] - Pixeldichte erhöhen

  Alt 16. Apr 2015, 19:10
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?
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 05:12 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