web-dev-qa-db-ja.com

デバイスのピクセル比率を計算する方法

-webkit-device-pixel-ratioの計算方法を教えてください。私はすでに これを読んでください でした。それでもはっきりとは理解できません。また、どのデバイスがどのピクセル比率を使用しているかのリストがあるかどうかも知りたいです。 Androidウェブサイトは言う

AndroidブラウザとWebViewは、特定の画面密度のスタイルを作成できるCSSメディア機能-webkit-device-pixel-ratio CSSメディア機能をサポートしています。この機能に適用する値「0.75」、「1」、または「1.5」のいずれかである必要があります。これは、スタイルがそれぞれ低密度、中密度、または高密度の画面を持つデバイス用であることを示します。

しかし、768 x 1280の解像度の画面で互換性のあるWebアプリケーションを作成するには、-webkit-device-pixel-ratio = 2を使用する必要があることがわかりました。

20

この記事によると

http://www.html5rocks.com/en/mobile/high-dpi/

マジックナンバーは150らしい。

物理的なppiを150の理想的なppiで割ると、デバイスのピクセル比が得られます。

例えば。 445ppiのデバイスのdprは3->> 445/150

簡単な計算は、このリストの多くの項目については問題ないようです。

http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density

15
Jet Blue

あなたはjavascript window.devicePixelRatioを使用してピクセル比を見つけることができます

3
user2991535
3
Dmitry Davydov

デバイスピクセル比(DPR)は、物理的なハードウェアベースのピクセルと抽象化されたデバイス非依存ピクセルとの関係です。デバイスのピクセル比率の値は、デバイスの製造元が1つのタイプのピクセルシステムを他のタイプにマッピングする方法に基づいているため、確実に計算できるものではありません。この情報を確実に取得するには、デバイスから情報を要求する必要があります。

2
MokoJumbie

表示メトリックを計算して取得

DisplayMetrics dm = context.getResources()。getDisplayMetrics(); int densityDpi = dm.densityDpi

dm.xdpi、またはdm.ydpi、つまりピクセル密度を使用します

1
Piyush Sharma