携帯ショッピングカートの画像形式について
|
画像には、gif、jpg、png、bmp、3gpなどいろいろな形式があります。PCでは問題がありませんが、携帯では機種により対応がまちまちなのでこれが問題となります。
携帯電話による対応状況を大雑把に表にしてみると下記のようになります。
◎:対応機が最も多い ○:対応機が多い △:一部対応又は未対応
機種名 |
gif |
jpeg |
png |
動画の形式 |
DoCoMo |
◎100% |
○(FOMA)(注1) |
△ |
3gp、asf |
SoftBank |
△ |
○(注1) |
◎100% |
3gp |
AU |
◎ |
◎(注1) |
○ |
3g2、amc |
(注1)2002年以降すべての端末で対応。
最近の動向としては、jpg対応の機種が増えているということでしょう。jpgが共通の形式にでもなれば開発は楽なのですが、変化の過程ではこうした変化がプログラムを一層難しくしています。
いずれにしましても、現在の所、DoCoMoとAUではgif画像を、Vodafoneではpng画像を用いるのが一般的なようです。今後、jpegの使用も増えてくると思われます。・・・・・
さて、約2002年以降では、すべての端末がjpgに対応するようになり、現在使われている機種のほとんどがjpegに対応していると考えてよいと思います。また、画像の種類により適切な形式を用いることも必要です。それで、次のようにするのが最も賢明であるように思われます。
- 写真画像(商品画像など)はjpegを用いる。
- イラスト画像(タイトル画像など)は、ドコモ、AUではgifを、SoftBnakではpngを用いる。
それで、最新のショッピングカート(SPシリーズ)では、商品画像は登録したjpeg画像をそのまま表示するようにしました。(もちろん、gif画像で登録すればgif画像で出力されますが、jpegを用いることを推奨いたします。)
【注】PCtoMobile Ver.13 〜 Contents-Mall Ver.13 では、ドコモの旧機種ではgifを、SoftBankの旧機種ではpngで、商品画像を出力します。
|
携帯ショッピングカートの画像の動的な変換(ImageMagickまたはNetPBMなどの利用)
|
こうした現状に対応するための方法は2種類あります。
- 幾つかの形式の画像(サイズもそろえる)を作成し、あらかじめ登録しておく
- 1種類の画像を登録しておき、表示するときに動的に形式とサイズを変換する
それぞれに長所と短所があります。
- 登録は大変だが、表示速度が速い
- 登録は楽だが、大きい画像では表示速度が遅くなる
こうしたことを踏まえて、ショッピングカートPCtoMobile、Contents-Cartでは画像の動的な生成の機能を取り入れました。ImageMagick(perlモジュール)を使用し、画像を表示するときに画像形式とサイズを適切なものに変換します。
画像の形式を変更しないときには変換プログラムを使わずに画像を表示させることもできるようになっています(画像のサイズを設定する所で、ImageMagickを使うか否かの選択ができます)。PC用では商品画像のサイズをあらかじめそろえて登録しておけば速度も落とさずに済みます。
※サムネイル画像のサイズをそろえるためのプログラム「画像サイズ一括変換プログラム」についてはこちらをご覧ください。⇒ 画像サイズ一括変換プログラム
携帯の場合、画像の形式を機種ごとに変化させなければなりません。しかし、上記の機能により、PC用の商品画像の形式とサイズを自動的に変換して携帯用の画像として用いることができます。画像の面で、PCと携帯の完全な対応が可能となります。
PCtoMobileでは商品の拡大画像を10枚まで登録でき、それをそのまま携帯で表示できます。
機能を重視するか速度を重視するか、難しい選択ですが、これは進歩に常に伴う問題です。Windows95からXPへの進歩にもこの問題がありましたが、PCの性能の向上により解決されてきました。それで、この問題でも、スピードを重視するあまり機能をあきらめるより、常に機能の向上を目指しつつサーバの性能の向上を期待する方が正しい考え方だと思います。
【最新バージョンにおける画像変換処理(ImageMagick)の利用】
(1)PCとモバイルで画像変換処理の利用の選択(デフォルトではnoneに設定されています)
PCの場合:システム設定【13】【27】で、画像変換処理をしない場合はその部分でnoneを指定します。
@商品一覧表などのサムネイルの画像
A商品拡大画像
B詳細ページ内のサムネイル10
Cおすすめ8商品
モバイルの場合:システム設定【2】で、画像変換処理をしない場合はnoneを指定します。
Dサムネイルの画像
(2)画像変換処理を利用しない場合
ImageMagickが使えないサーバーを含め、全く使用しない場合は、下記の設定を変更してください。
set.plファイルの18,19行目を下記のように設定します。
$convert_use =0;#PC用
$convert_mb_use =0;#モバイル用
(3)ImageMagickのバグ(高負荷問題)に対応
ImageMagickが高負荷になり500エラーを起こすことが報告されていますが、この現象はマルチスレッド処理を行わないことで回避できます。最新バージョンではこの対策を施しました。
【注意】ImageMagickモジュールが使用できないサーバの場合
ほとんどのサーバでImageMagick(perlモジュール)が使用できるようです。例えば、Kagoya、X-server、さくらインターネット、VVV7などで使用できます。
また、ImageMagickモジュールが使えないサーバの場合、下記の方法でも画像の動的な変換が可能です。(当社のショッピングカートでは、標準ではImagemagickを使用するようになっていますが、下記の方法でも可能です。)
- NetPBMが使えるサーバの場合、それを利用できます。
- 菅さん作のプログラムrepng2jpegを利用することもできます。
それで、ImageMagickが使えないサーバで、当社のカートの利用を検討しているなら、対処方法をお伝えいたしますので、ご面倒でもお問い合わせくださいますようお願いいたします(設置代行を望まれる場合は5,000円で承ります)。
※上記の点をチェックするプログラムのダウンロード⇒サーバチェックリスト(解凍し、checklist.cgiをショッピングカートと同じフォルダにUPしてパーミッションを705または755にして呼び出してください。Windowsサーバでは使えません。)
|
携帯ショッピングカートの動画再生、及び今後の課題
|
携帯の進歩には目を見張るものがあり、それらに対応していくことは今後の重要な課題です。
現在、画像に関して注目すべき点には下記のようなものがあります。
- 動画再生
- 写メールの活用
- フルブラウザー
動画再生の問題はやはり携帯機種により動画の形式がいろいろであることです。さらに、まだ未対応の携帯も少なくない点です。
現在の所、最も多く使用されている動画形式は3gp、3g2、amcの3つでしょう。それで、ショッピングカートPCtoMobile、Contents-Cartでは3gp、3g2、amcを再生できるようにしてみました。
再生の仕様は以下の通りです。
- DoCoMoの場合⇒3gp、 3gpファイルが存在しなければ、jpg
- Vodafoneの場合⇒3gp、 3gpファイルが存在しなければ、jpg
- AUの場合⇒3g2又はamc、 3g2又はamcファイルが存在しなければ、jpg
WEB上の商品管理画面から登録できるようになっています。登録した際のファイル名は次の通りです。
- (商品番号)mv.3gp
- (商品番号)mv.3g2
- (商品番号)mv.amc
- (商品番号)mv.jpg
それで、動画の代わりにjpg画像(3キャリアで対応しつつある)をUPすれば画像を1枚多く表示できることになります。
今後、さらに、写メールやフルブラウザーなどを積極的に取り入れた開発を行なっていく必要があるでしょう。⇒携帯からの商品登録システム
注)3g2、amcを使用して、EZムービーを再生するには、サーバのMIMEType設定または.htaccessファイルを使用しての設定が必要になります。次を参考にして設定を行って下さい。⇒EZムービー
.htaccessの内容例 (ダウンロード⇒.htaccessファイル)
AddType application/x-mpeg .amc AddType video/3gpp2
.3g2 AddType audio/3gpp2
.3g2
|
|
スマートフォンでの動画再生題 |
スマートフォンはHTML5を使っていますから、mp4を簡単に再生できます。それで、PCtoMobile2では、上記に加えて、mp4を登録することにより動画(mp4)を再生できるようにしました。
再生の仕様は以下の通りです。
- スマートフォンの場合⇒mp4、 mp4ファイルが存在しなければ、jpg
WEB上の商品管理画面から登録できるようになっています。登録した際のファイル名は次の通りです。
|
PCショッピングカートでの商品画像の最適な表示方法 |
PCショッピングカートでは様々な大きさの商品画像を表示します。また、スマートフォンやタブレットからもPCサイトを見ることが多くなってきました。それで、PCサイトでの商品画像の最適な表示方法を考える必要があります。
まず、念頭に置いておくべき幾つかの点があります。
1)IE9やFireFoxの場合、画像を実寸の約50%以下で表示すると、画質が極端に悪くなる。
2)スマートフォンで画像を拡大して見ることができるが、当然大きな画像ほど画質が良い。
3)ImageMagickを使ってサムネイル画像を生成すると画質が良い。
上記の点を考慮に入れて、システム設定【13】の設定を下記のようにすることをお勧めいたします。
(これは、PCtoMobile〜Contents-Mallの場合です)。
1)商品一覧表の画像の幅/高さ → 135//none
2)商品拡大画像A/BCの幅 → 340//none
一覧表の画像は、size_convert.cgiで表示する大きさに一括して変換できますので、できるだけ実寸で表示して表示スピードを向上させることは大切です。⇒
画像サイズ一括変換プログラム(標準搭載)
また、詳細説明の画像(5〜10枚まで登録可能)には3種類の大きさがあります。
1)詳細ページの拡大画像(340px)
2)サムネイル画像(60px)
3)ポップアップ画像(実寸で約640pxぐらいが良い)
商品画像A〜Jは640pxぐらいで登録し、ポップアップしたときに実寸で表示させます。一方、詳細ページの拡大画像(current_picture)は、width='340'と指定します(システム設定【13】の詳細説明のカスタマイズ)。実寸の50%以上になるように設計すると画質がよくなります。
さらに、サムネイル画像はImageMagickで60pxに自動的に縮小されて表示されますので、きれいに表示されます。ImageMagickのサイズオプションを利用して処理スピードが向上していますので、表示スピードは十分に速く、動的な生成でも問題ありません。
上記の設定は、あくまでも一例で、これを参考にして設計することをお勧めいたします。スマートフォンの商品画像についてはこちらもご覧ください。⇒ iPhone/Android対応
【Lightbox2を用いた拡大画像のオーバーレイ表示】
PCtoMobile〜Contents-Mallでは、拡大画像のポップアップに代えて、Lightbox2(v2.51)を用いたオーバーレイ表示を採用しました。
サンプル: PCtoMobile
システム設定【14】の詳細説明のカスタマイズで、拡大画像の部分の記述を下記のように行います。
<a href="javascript:void(0)" onclick="Lightbox2();"><img
src='$pica' border='0' width='340' style="vertical-align:middle;"
alt='$name[$kigou]' name='current_picture'$xslash></a>
オーバーレイ表示のカスタマイズは、lightboxフォルダ内のlightbox.cssとlightbox.jsを調整することにより行うことができます。
例えば、・・・・
(1)背景の透明度の調整
lightbox.cssの最初のところで、透過PNG1〜7を選択
(2)表示スピードの調整
lightbox.jsの53、54行目で調整(単位は1000分の1秒)
(3)「NEXT」「PREV」画像の位置
lightbox.cssの127、132行目で調整(48%が大体中央)
【注意】IE9やそれ以前のIEでは、角丸(border-radius)は表現できません。また、半透明もCSSではうまく表現できないので、透過PNGを背景画像として採用しました。これにより多くのブラウザーに対応しています。
参考サイト:Lightbox2.5の使い方 / LightBoxの使い方とカスタマイズ方法
|