


Wie kann man DPI/PPI von JS/CSS angesichts der Gerätetäuschung genau erkennen?
Erkennung der System-DPI/PPI anhand von JS/CSS
Hintergrund
Die Aufrechterhaltung einer konsistenten Benutzererfahrung auf allen Geräten mit unterschiedlichen DPI/PPI-Einstellungen ist von entscheidender Bedeutung für moderne Anwendungen, die hochauflösende Bilder erzeugen. Die genaue Erkennung der DPI/PPI des Geräts stellt jedoch Herausforderungen dar, da herkömmliche Methoden möglicherweise keine zuverlässigen Ergebnisse liefern.
Gerät lügt: Ein falscher 96ppi-Wert
Ihr erster Ansatz unter Verwendung eines Elements mit einem festen „ Die Angabe einer Breite von 1 Zoll in CSS und die Überprüfung der OffsetWidth erscheinen sinnvoll. Es ist jedoch bekannt, dass das iPhone seinen PPI falsch angibt und einen falschen Wert von 96 ppi angibt. Dieser falsche Messwert macht diese Methode unzuverlässig.
Alternativer Ansatz: Abmessungen der Geräteanzeige
Eine andere mögliche Lösung besteht darin, die Abmessungen der Geräteanzeige in Zoll abzurufen und sie durch die Breite in Pixel zu dividieren. Allerdings ist der Zugriff auf diese Dimensionen in JS/CSS nicht einfach.
Lösung: DevicePixelRatio
Glücklicherweise gibt es eine zuverlässige Methode, um die Geräte-DPI/PPI zu erhalten:
- Verwenden Sie window.devicePixelRatio: Diese Eigenschaft gibt das Verhältnis von Pixeln auf dem Bildschirm des Geräts zu CSS-Pixeln an.
- Erstellen Sie ein Testelement: Erstellen Sie ein unsichtbares Element mit eine Höhe und Breite von 1 Zoll in CSS.
- Anzeigeauflösung abrufen: Berechnen Sie den DPI/PPI, indem Sie die Offset-Breite und -Höhe des Elements mit dem devicePixelRatio multiplizieren.
<code class="javascript">const testDiv = document.createElement('div'); testDiv.style.height = '1in'; testDiv.style.left = '-100%'; testDiv.style.position = 'absolute'; testDiv.style.top = '-100%'; testDiv.style.width = '1in'; document.body.appendChild(testDiv); const DPI_X = testDiv.offsetWidth * window.devicePixelRatio; const DPI_Y = testDiv.offsetHeight * window.devicePixelRatio; console.log(DPI_X, DPI_Y);</code>
Diese Methode liefert genaue DPI/PPI-Messwerte auf verschiedenen Geräten, einschließlich solchen, die ihren PPI mit herkömmlichen Methoden möglicherweise falsch angeben.
Das obige ist der detaillierte Inhalt vonWie kann man DPI/PPI von JS/CSS angesichts der Gerätetäuschung genau erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Unabhängig davon, in welcher Phase Sie als Entwickler Sie befinden, haben die Aufgaben, die wir erledigen - ob groß oder klein - einen enormen Einfluss auf unser persönliches und berufliches Wachstum.

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben
