画像変換プラグイン仕様
概要
あらゆる形式の画像を端末の性能に合わせた形式・幅・色数へ自動的に変換する機能です。
極力、画像サイズを小さくせずに、圧縮率や色数を落とすことのないように変換を行います。
また、端末が表示可能なサイズを超えないようにファイルサイズを自動調整します。
※Durian 4.3以降では、画像変換するベース幅について、待受画面幅とブラウザ幅の選択が可能になりました。4.2以前の動作をさせたい場合、待受画面幅を選択してください
元画像の形式としては、以下の形式をサポートしています。
- JPEG(24bit、プログレッシブ)
- GIF(2〜256色パレット、インタレース、アニメーション)
- PNG(2〜256色パレット、24bit、32bit)
- BMP(256色パレット、24bit)
記述方法
画像変換を行うには、img要素のsrc属性に画像ファイルを指定し、クエリーパラメータとして convert=default または convert=preview を指定します。
また、Durian管理ツールにて「デフォルトで画像変換を行う」にチェックが付いている場合には、convert=を指定しなくても全ての画像を変換します。
この時の変換はconvert=defaultで行います。
「デフォルトで画像変換を行う」にチェックが付いている場合でも特定の画像に対しては画像変換を行いたくない場合は、対象画像img要素のsrc属性に convert=no を指定してください。
imgタグの記述例
※デフォルトで画像変換を行う場合
<!-- 画像変換を行う --> <img src="durian.gif"> <img src="durian.gif?convert=default"> <img src="durian.gif?convert=preview"> <!-- 画像変換を行わない --> <img src="durian.gif?convert=no">
変換後のフォーマット
元の画像フォーマット、および、端末の対応している画像フォーマットにより、適切な画像フォーマットが選択されます。以下のルールに従います。
元の画像フォーマット | 変換後の画像フォーマット |
---|---|
JPEG | JPEG→PNG→GIF |
GIF | GIF →PNG→JPEG |
PNG | PNG →GIF→JPEG |
※対応しているフォーマットを順に選択します。
透過色設定
透過GIF・透過PNGに対して画像変換を行うと透過色が失われてしまいます。
Durian管理ツールでは変換後、透過色だった箇所の色を指定することができます。
変換後透過背景色指定
#000000〜#FFFFFF |
---|
※デフォルトでは#FFFFFF(白)に設定してあります
変換後の画像サイズ
変換後の画像の横幅サイズは、設定ファイルであらかじめ設定した幅の中から端末が表示可能な最大の幅を選択して決定されます。縦幅は、横幅の縮小率と同じ縮小率となります。
変換後の幅設定(デフォルト値:ピクセル)
32 | 64 | 96 | 120 | 160 | 200 | 240 | 320 | 480 |
---|
ただし、後述するように、変換後の画像の縦ピクセル数やファイルサイズが端末の表示可能なサイズを上回っていた場合は、横幅を縮めることがあります。
変換後の色数・JPEG圧縮レベル
- GIF/PNG:元の画像の色数を超えない色数が選択されます
- JPEG:圧縮レベル0.5固定です
ただし、後述するように、変換後の画像のファイルサイズが端末の表示可能なサイズを上回っていた場合は、色数や圧縮率を下げることがあります。
ファイルサイズ調整
変換後の縦ピクセル数やファイルサイズがその端末の表示可能な上限を上回っていた場合、変換後の横幅や色数・JPEG圧縮レベルを落とすことにより、表示可能なファイルサイズになるまで繰り返し変換を行います。
- JPEG:圧縮レベルは、最低0.3まで落とします
- GIF/PNG:色数を最低8色まで落とします
- 共通:横幅を最小で横幅設定値の最小まで落とします
制限事項
- グレースケールJPEG、BMP(4〜16色)には対応していません
- 絶対URLは変換対象外です
- Content-Typeヘッダにはimage/jpeg等、適切な値を出力する必要があります。Content-Typeヘッダと画像フォーマットが一致しない場合はエラーとなります。
キャッシュファイル
変換した画像は、ファイルにキャッシュされます。
キャッシュファイルは、デフォルトではWebアプリケーションの一時ワークディレクトリ内のdurianディレクトリに作成されます。
※ワークディレクトリの位置はDurian管理ツールから確認できます
プロキシ
プロキシ型でも、フィルタ型と同様に画像変換が可能です。
ライセンス
画像変換を行うには、画像変換オプション用のライセンスが必要です。
Durian Enterprise/Standard のライセンスには、画像変換オプションのライセンスは含まれておりません。