0

Codeigniter の Image Manipulation Class を使用して、いくつかの画像のサイズを変更しようとしています。幅を 150px に設定し、新しい幅に応じて高さを変更したいと考えています。つまり、300x200 の画像がある場合、150x100 になります。300x500 の画像がある場合、150x250 になります。

この構成では、縦長の画像の幅は 150px 未満です。

$config['maintain_ratio'] = TRUE;
$config['width'] = 150;
$config['height'] = 150;

$config['height'] を設定しないと、サイズ変更クラスが期待どおりに機能しません。固定幅を設定し、それに応じて高さを変更する方法はありますか?

4

4 に答える 4

0

このコードが役立つと思います。私にとってはうまく機能しています。

    $config['image_library'] = 'gd2';
    $config['source_image'] = 'imagepath';
    $config['create_thumb'] = TRUE;
    $config['maintain_ratio'] = TRUE;
    $config['width']     = 75;
    $config['height']   = 50;
    $config['new_image'] = 'path to save resize image';

    $this->load->library('image_lib', $config); 
     $this->image_lib->initialize($config);

    if(!$this->image_lib->resize())
    {
        echo $this->image_lib->display_errors(); 
    }else echo "resize successfully";

このコードでは

source_image = サイズを変更する画像のパス
create_thumb = imagename_thumb を使用して新しい画像を生成します。maintain_ratio =サイズ
変更時に元の縦横比を維持するか、ハード値を使用します。
new_image = 画像のサイズ変更を保存する場所 画像のサイズを変更する高さと幅

于 2013-10-26T06:46:27.670 に答える
0

縦横比の維持を有効にする必要があります

この構成を使用して確認してください

 config['image_library'] = 'gd2';
 $config['source_image'] = '/path/to/image/mypic.jpg';
 $config['create_thumb'] = TRUE;
 $config['maintain_ratio'] = TRUE;
 $config['width'] = 75;
 $config['height'] = 50;

 $this->load->library('image_lib', $config);

 $this->image_lib->resize(); 

上記のコードは、image_resize 関数に、source_image フォルダーにある mypic.jpg という画像を探し、GD2 image_library を使用して 75 X 50 ピクセルのサムネイルを作成するように指示します。maintain_ratio オプションが有効になっているため、元の縦横比を維持しながら、サムはターゲットの幅と高さにできるだけ近くなります。サムネイルは mypic_thumb.jpg という名前になります

于 2013-10-25T05:02:19.597 に答える