イメージマジックまたはNetPBMを利用する場合の画像の扱い。
- コードを全面的に刷新した後継作・しらぎくモバイルシステム VIが公開されました。
今後、新規にモバイルサイトを構築される方には、しらぎくモバイルシステム VIのご利用を強く推奨いたします。
- しらぎくモバイルシステム VIは従来のしらぎくモバイルシステムとの互換性はありません。
- このため、制作者は当面従来のしらぎくモバイルシステムについても、適宜アップデートを続けていく予定です。
- PC向けに書かれたフル規格のHTML文書に対しては、しらぎくモバイルシステムFULL(開発名・HOMAKI & NAKAMA)をご利用ください。
- 利用出来るサーヴァが限られておりますが、絵文字の変換さえ出来れば良いと言う方には、ドコモ端末の絵文字を変換するだけのスクリプト・しらぎく絵文字変換スクリプトもお勧めしております。
しらぎくモバイルシステムでイメージマジックまたはNetPBMを利用する場合、第3.769版(平成18年 7月 5日)以降では画像の扱いにおいて制約事項が大幅に緩和されます。
- 以下、イメージマジック及びNetPBMの双方を合わせて呼ぶ場合、外部画像処理系と言います。
尚、しらぎくさいと実験室では、イメージマジックまたはNetPBMが実装されているかどうかを確認するスクリプトも配布しておりますので、お使いのサーヴァの仕様が分からない方は是非ご利用下さい。
しらぎくモバイルシステムで外部画像処理系が利用出来る条件。
以下の条件を満たしたサーヴァでご利用の場合、しらぎくモバイルシステムで外部画像処理系がご利用になれます。
しらぎくモバイルシステムでイメージマジックが利用出来る条件。
しらぎくモバイルシステムで画像処理系としてイメージマジックを利用するには、以下の条件を満たしている事が必要です。
- PerlMagickモジュールが利用出来る事
- しらぎくモバイルシステムはPerlMagickを通じてイメージマジックを利用します。
イメージマジックでは殆どの処理をバイナリ(機械語)で処理されるため、かなりのパフォーマンス向上が期待出来ます。
しらぎくモバイルシステムでNetPBMが利用出来る条件。(平成19年 5月11日 更新)
しらぎくモバイルシステムで画像処理系としてNetPBMを利用するには、以下の条件を満たしている事が必要です。
- サーヴァのOSがユニックスまたはユニックス互換である事
- ウィンドウズではシェル呼び出しが正常に処理出来ません。また、ウィンドウズに移植されたNetPBMはいろいろな不具合があるため、機能を完全には利用する事が出来ません。
- JPEG画像に関しては、NetPBMの関連コマンド(jpegtopnm/pnmtojpeg)が用意されていればそれらを利用しますが(NetPBMのヴァージョンが 9.19以降)、用意が無い場合はdjpeg/cjpegコマンドを利用します。
- 従来必須だったPerlのモジュール・IPC::Run.pmは第4.3100版(平成19年 5月11日)以降不要となりました。この結果ウィンドウズ上での動作は完全にサポート対象外となりました。
パフォーマンスはイメージマジックに較べると若干劣りますが、従来のピュアPerlでは処理速度上不可能だった事は一通り実用上ほぼ差障りの無い速度で可能になります。
しらぎくモバイルシステムで外部画像処理系を利用した場合に緩和される条件。
しらぎくモバイルシステムで外部画像処理系を利用した場合、ピュアPerlでの処理に較べて以下の制約が取り払われます。
- 画像解像度の制限が無くなります
- Perlでの画像処理は時間が掛かるため、画像解像度に厳しい制限を与えておりました。
一方、外部処理系は処理が高速なため、携帯端末で使えない解像度の画像も適宜縮小して配信する事も可能になります。
このため、外部処理系を利用すればQVGA液晶端末向けの画像を標準サイズ画像として利用する事が出来るようになります。
- 画像形式の制約が無くなります
- 例えば、JPEG画像においては、プログレッシヴ形式の利用も可能になります。
- 尚、携帯電話では一部機種でプログレッシヴ形式をサポートしていないものがあり、このためベースライン方式で無い場合は自動的にベースライン方式に変換して配信されます。
また、PNG画像でのインタレース方式もそのままで対応出来るようになります。
しらぎくモバイルシステムで外部画像処理系を利用した場合の画像縮小機能について。
しらぎくモバイルシステムで外部画像処理系を利用した場合、端末の条件に従い、以下のようになります。
- 非QVGA液晶端末
- ソフトバンクの非パケット端末
- 非QVGA液晶端末及びソフトバンクの非パケット端末に対しては、以下の条件を満たした画像で対応可能な形式であればそのまま配信します。
- 幅120ピクセルズ以内、高さ144ピクセルズ以内。
この条件を満たしていない場合、以下の解像度に縮小されます。
- 幅・高さとも96ピクセルズ以内。
これは、形式変換などにより思わぬファイルサイズの増加が起こる場合があるため、画像を小さめにするようにしている事に依ります。
また、旧型のiモード端末ではカラー対応であっても白黒化する場合があります。
- QVGA液晶端末
- QVGA液晶端末に対しては、以下の条件を満たした画像で対応可能な形式であればそのまま配信します。
- 幅280ピクセルズ以内、高さ360ピクセルズ以内。
この条件を満たしていない場合、上記の解像度に縮小されます。
- VGA液晶端末
- VGA液晶端末に対しては、以下の条件を満たした画像で対応可能な形式であればそのまま配信します。
- 幅480ピクセルズ以内、高さ640ピクセルズ以内。
この条件を満たしていない場合、上記の解像度に縮小されます。
しらぎくモバイルシステムで外部画像処理系を利用した場合の画像擬似拡大機能について。
しらぎくモバイルシステムで外部画像処理系を利用した場合でも画像擬似拡大機能は機能します。
それでも、画像縮小機能で定められている解像度以上になった場合には、その枠内の解像度に自動的に制限されます。
外部処理系を利用するに当たってご注意願いたい事。
しらぎくモバイルシステムで外部画像処理系を利用する場合、以下の点にご留意下さい。
- 透過画像の透過属性が処理で損なわれる場合があります
- 特に
- NetPBMを利用する場合
- JPEG画像に変換される場合
は常に透過属性が破棄されます。
また、PNG画像のアルファチャネルや透過度パレットも破棄されます。
このため画像の背景色及び透過属性を与えたパレットには、サイトで利用する背景色に近い色を指定する事をお奨めします。
- 尚、携帯端末では大半の端末がPNG画像のアルファチャネルや透過度パレットを利用する事は出来ません。
- アニメーションGIF画像は初めの一コマ目のみが処理されます
- 例え縮小などGIF画像への変換であっても、アニメーションGIF画像は初めの一コマ目のみが有効となります。
- 変換方法が、ピュアPerlのそれと異なります
- GIF画像やPNG画像を縮小する場合、JPEG画像に対応している端末にはJPEG画像で配信します。
- JPEG画像に対応していない端末には、適切な形式に変換されます。
例・QVGA液晶端末向け画像のみを用意する場合。
外部画像処理系を用いた場合、画像処理の制約が大幅に緩和されます。
例えば、従来は非QVGA液晶端末向けの画像を用意しなければなりませんでしたが、外部画像処理系を利用すれば、QVGA液晶端末向けの画像を非QVGA液晶端末向けに適宜縮小して利用する事が可能になります。
実際にQVGA液晶端末向けの画像のみを用意する場合は以下のようにして下さい。
- 尚、QVGA液晶端末向けの画像のみを用意場合は、必ず外部画像処理系を利用して下さい。
- QVGA向けの画像しか用意しない場合も、その画像は標準サイズ画像の収納ディレクトリに、また拡張子も標準サイズ画像での拡張子設定に従って下さい
- 標準サイズ画像は、本来は非QVGA液晶端末向けの画像ですが、QVGA液晶端末向けの画像のみを用意する場合はこの画像が標準サイズとなります。
- 画像擬似拡大処理抑止オプションは、VGA液晶端末で拡大が必要でない場合のみ設定して下さい
- 画像擬似拡大処理抑止オプションを利用すると、VGA液晶端末でアクセスした際に拡大されなくなります。