imgix APIsレンダリング APIデバイスピクセル比

デバイスピクセル比

dpr

画像の出力密度を制御し、単一の画像からすべてのユーザーのデバイスに適した密度で画像を提供できます。

このパラメーターを機能させるには、幅、高さ、またはその両方を指定する必要があります。デフォルトは 1 で、最大値は 5 です。

デバイスピクセル比(DPR)は、デバイス非依存ピクセルとデバイスピクセル(「CSSピクセル」とも呼ばれる)の間を簡単に変換する方法です。これにより、高DPRの画像はそれをサポートできるデバイスにのみ配信されます。これにより、低DPRのデバイスを持つユーザーのために帯域幅が節約され、高DPRのイメージが期待どおりの鮮明さで配信されます。

dpr パラメーターは、 srcset などの技術と組み合わせて使用すると最適です。これにより、高DPRの画像をどのような比率で配信するかを定義できます。以下のコードは、指定された dpr の値に基づいて、500×300ピクセルのコンテナに次の画像サイズを提供します:

<img
  srcset="
    https://assets.imgix.net/unsplash/motorbike.jpg?fit=crop&h=300&w=500&auto=enhance&dpr=1 1x,
    https://assets.imgix.net/unsplash/motorbike.jpg?fit=crop&h=300&w=500&auto=enhance&dpr=2 2x,
    https://assets.imgix.net/unsplash/motorbike.jpg?fit=crop&h=300&w=500&auto=enhance&dpr=3 3x
  "
  src="https://assets.imgix.net/unsplash/motorbike.jpg?fit=crop&h=300&w=500&auto=enhance"
/>
画像の寸法画像のサイズ
dpr=1500×30040.36kB
dpr=21000×600108.86kB
dpr=31500×900206.56kB

この画像の場合、低DPRデバイスではdpr=2よりもdpr=1を設定することで60KB節約され、そのデバイスの読み込み速度が大幅に向上します。同時に、高DPRデバイスに対してdpr=2を設定することで、その画像が画面で可能な限り鮮明に表示されることが保証されます。以下でその違いを見ることができます。

dpr=0.75 (Android Low DPI)
sandbox-demo
dpr=2 (Retina Display)
sandbox-demo

dprの詳細については、srcsetのチュートリアルをご覧ください。