Imgix APIsレンダリング APIスタイル化しきい値ディザリング

しきい値ディザリング

threshold-dither

threshold-dither パラメーターは、threshold による明確な分割を、中間調を近似するドットパターンに置き換えます。出力は純粋な白黒のままですが、パターンの密度が、分割では失われる階調の代わりになります。

threshold-dither には threshold が必要です。単独で指定してもディザリングは適用されません。

値アルゴリズム
floydsteinberg(または true)Floyd–Steinberg 誤差拡散。一般的な細かいディザリング
atkinsonAtkinson 誤差拡散。コントラストが保たれ、ハイライトがより明瞭になります

threshold を 50 にすると、典型的なディザリングの見た目になります。数値以外の値や認識できない値は無視され、X-Imgix-Params レスポンスヘッダーからも除外されます。

ディザリングなしの threshold=50
sandbox-demo
threshold-dither=floydsteinberg は中間調を復元します
sandbox-demo

同じしきい値でも、Atkinson はハイライトがより整った仕上がりになります。

threshold=50 での threshold-dither=atkinson
sandbox-demo

パターンのサイズ

ドットパターンはソース画像ではなく出力サイズで生成されます。そのため w、h、dpr を変更すると、パターンの大きさが変わるのではなくパターン自体が変わります。同じ画像を異なる幅でレンダリングしてもドットは一致しないため、ディザリングした画像を srcset で配信する場合は注意が必要です。

また、ディザリングされた出力は高周波のディテールを多く含むため、非可逆フォーマットでは圧縮効率が下がります。ディザリングした画像にはJPEGではなく fm=png や fm=webp を使用してください。