バージョン選択

フォーラム

メニュー

オンライン状況

55 人のユーザが現在オンラインです。 (13 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 55
もっと...

サイト内検索

バグ報告 > フロント機能 > モバイル用イメージの変換に関して

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
QAZU
投稿日時: 2009/5/18 16:07
対応状況: −−−
半人前
登録日: 2007/3/7
居住地:
投稿: 26
Re: モバイル用イメージの変換に関して
kishikさま

プログラマーの方に、kishikさまのソースを渡して、
実際に検証してもらいました。
色々チェックしてもらった結果、下記のようなソースが返ってきました。
検証して、まとめたプログラムだそうです。
現状では、問題なく動いているので、恥ずかしながら、このソース内で行われている処理が個人的に理解できていない状態です・・・

data/include/image_converter.inc
[old]
// 変換後の画像の高さが指定されていない場合、変換後の画像の横幅から求める
if (is_null($this->outputImageHeight)) {
$this->outputImageHeight = $inputImageHeight * ($this->outputImageWidth /
$inputImageWidth);
}

============================================================
[new]

//変換の前画像の横幅が小さい場合画像のサイズそのまま使う
if($inputImageWidth <= $this->outputImageWidth){
$this->outputImageWidth = $inputImageWidth;
$this->outputImageHeight = NULL;
}

// 変換後の画像の高さが指定されていない場合、変換後の画像の横幅から求める
if (is_null($this->outputImageHeight)) {
$this->outputImageHeight = $inputImageHeight * ($this->outputImageWidth /
$inputImageWidth);
}

mobile_image_map_[端末会社].csvによってサイズのsettingになるので
画像のサイズが大きい場合ファイルから呼んで来たサイズと比べて自動計算になるようになっています。
だからサイズが小さなイメージの場合もsettingされたサイズによって自動でイメージ変更になった後高さが計算されるので小さなサイズのイメージが自動変更されて大きくなってしまった現象がありました。

それでsettingされたサイズとイメージサイズを比べた後サイズが小さな場合に$this->outputImageWidthを変更
例えば [$this->outputImageWidth = 220]
1. 250*50 サイズの場合 = > 220*44
if($inputImageWidth <= $this->outputImageWidth){
$this->outputImageWidth = $inputImageWidth;
$this->outputImageHeight = NULL;
}
//(250 <= 220)が違うので$this->outputImageWidth=220になります。

if (is_null($this->outputImageHeight)) {
$this->outputImageHeight = $inputImageHeight * ($this->outputImageWidth /
$inputImageWidth);
}
//$this->outputImageHeight = 50 * (220/250) の計算によって高さが44に変更されます。

2. 100*20 サイズの場合 = > 100*20
if($inputImageWidth <= $this->outputImageWidth){
$this->outputImageWidth = $inputImageWidth;
$this->outputImageHeight = NULL;
}
//(100 <= 220)によって$this->outputImageWidth=100になります。

if (is_null($this->outputImageHeight)) {
$this->outputImageHeight = $inputImageHeight * ($this->outputImageWidth /
$inputImageWidth);
}
//$this->outputImageHeight = 20 * (100/100) の計算によって高さがそのまま20になります。

上のように変更されるので$this->outputImageWidthを変更してくれることだけでも解決可能です。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   モバイル用イメージの変換に関して QAZU 2009/5/11 18:16
     Re: モバイル用イメージの変換に関して seasoft 2009/5/11 18:36
       Re: モバイル用イメージの変換に関して kishik 2009/5/11 18:46
         Re: モバイル用イメージの変換に関して seasoft 2009/5/11 18:51
         Re: モバイル用イメージの変換に関して QAZU 2009/5/11 19:08
     Re: モバイル用イメージの変換に関して seasoft 2009/5/11 18:53
       Re: モバイル用イメージの変換に関して kishik 2009/5/11 19:06
         Re: モバイル用イメージの変換に関して seasoft 2009/5/11 19:12
         Re: モバイル用イメージの変換に関して QAZU 2009/5/11 19:16
           Re: モバイル用イメージの変換に関して kishik 2009/5/11 19:38
             Re: モバイル用イメージの変換に関して QAZU 2009/5/12 9:44
       Re: モバイル用イメージの変換に関して tao_s 2009/5/11 23:15
         Re: モバイル用イメージの変換に関して QAZU 2009/5/12 9:46
           Re: モバイル用イメージの変換に関して Masashige 2009/5/12 11:39
             Re: モバイル用イメージの変換に関して seasoft 2009/5/12 11:50
               Re: モバイル用イメージの変換に関して kishik 2009/5/12 12:17
     Re: モバイル用イメージの変換に関して QAZU 2009/5/12 12:08
       Re: モバイル用イメージの変換に関して seasoft 2009/5/12 12:40
         Re: モバイル用イメージの変換に関して kishik 2009/5/12 13:02
           Re: モバイル用イメージの変換に関して QAZU 2009/5/12 15:15
             Re: モバイル用イメージの変換に関して kishik 2009/5/12 17:00
               Re: モバイル用イメージの変換に関して QAZU 2009/5/13 10:21
                 Re: モバイル用イメージの変換に関して kishik 2009/5/13 10:38
                 » Re: モバイル用イメージの変換に関して QAZU 2009/5/18 16:07
                     Re: モバイル用イメージの変換に関して kishik 2009/5/18 17:46

 



ログイン



統計情報

総メンバー数は74,637名です
総投稿数は104,066件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2078
6
yuh
1664
7
red
1498
8
h_tanaka
1188
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.