CakePHP画像リサイズ最強プラグインUploadPackをCake初心者でも分かるよう徹底解説
リサイズ サムネイルをUploadPackでやってみる
ここからがUploadPackの本領発揮。画像のリサイズオプションが素晴らしいんです。
基本のリサイズ
まずは基本のリサイズから。欲しい分だけ名称とピクセルサイズを指定するだけ。
ここで注意したいのが、「:style」。これを必ず「path」のオプションのどこかに入れておかないとサムネイルが保存されません。
class Image extends AppModel { var $actsAs = array( 'UploadPack.Upload' => array( 'img' => array( //:styleを指定しないと、サムネイルが保存されない 'path' => ':webroot/img/:style:id.:extension', //stylesでサイズ指定 'styles' => array( 'big' => '200x200', 'small' => '120x120', 'thumb' => '80x80', ) ) ) ); }
サムネイル画像を生成すると、元画像は「orignal」という名称が付与されます。
また、pathのオプションを以下のようにすると、サムネイルのスタイルごとにフォルダを分散させることが出来、管理上もよいかもしれません。
:webroot/img/:style/:id.:extension
サムネイル画像生成のさらに詳細なオプション設定
100×80 – 最もよく使われるリサイズ設定。これより大きいものは切り取られる設定になっています。
[100×80] – 縦横の比率はそのままに縮小され、足りない部分は白く塗りつぶされてサムネイルが生成されます。「ぴったりのおおきさ」でリサイズされ、かつ比率も維持したい場合に使える設定です。いっさい切り取りはされません。(個人的には最もよく使う設定)
100w – オリジナルの縦横比率を維持。この場合、100pxの横幅にリサイズするが、比率は維持。
80h – オリジナルの縦横比率を維持。この場合、80pxの縦幅にリサイズするが、比率は維持。
80l – オリジナルの縦横比率を維持して、長い方にあわせて80pxにリサイズ。つまり、縦か横、どちらか長い方にあわせるということ。
[100×80] – 縦横の比率はそのままに縮小され、足りない部分は白く塗りつぶされてサムネイルが生成されます。「ぴったりのおおきさ」でリサイズされ、かつ比率も維持したい場合に使える設定です。いっさい切り取りはされません。(個人的には最もよく使う設定)
100w – オリジナルの縦横比率を維持。この場合、100pxの横幅にリサイズするが、比率は維持。
80h – オリジナルの縦横比率を維持。この場合、80pxの縦幅にリサイズするが、比率は維持。
80l – オリジナルの縦横比率を維持して、長い方にあわせて80pxにリサイズ。つまり、縦か横、どちらか長い方にあわせるということ。
そんなわけでこんな風にそれぞれ詳細オプションを設定出来ます。
class Image extends AppModel { var $actsAs = array( 'UploadPack.Upload' => array( 'img' => array( //:styleを指定しないと、サムネイルが保存されない 'path' => ':webroot/img/:style:id.:extension', //stylesでサイズ指定 'styles' => array( 'big' => '100w', 'small' => '[100×80]', 'thumb' => '80l', ) ) ) ); }