mediaプラグイン応用(5) 画像の出力設定

mediaプラグインで、Versionファイルの設定はcore.phpに設定しますが、実際にどのように設定すればよいのか、主な例をまとめました。

プラグイン側のconfig/core.phpを改修するか、
bootstrap.phpでmediaプラグインのcore.phpを読み込んだ後で、Configure設定上書きで変更します。

設定の説明

  1. キー('xxs'〜'xl')

設定名。任意で設定を増やす事も可能(要、viewソースの改修)

  1. 'convert' => $MimeType

$MimeType形式で出力

  1. 'fitCrop' => array($width, $height)

幅$width, 高さ$height(px)に縮小/拡大してトリミング(原画の幅か高さの長い方をカット)

  1. 'fit' => array($width, $height)

幅$width, 高さ$height(px)に縮小(アスペクト比保持、原画の幅か高さの長い方を設定値以内に縮小)

  1. 'fitOutside' => array($width, $height)

幅$width, 高さ$height(px)に縮小(アスペクト比保持、原画の幅か高さの短い方を設定値以内に縮小)

  1. 'zoomCrop' => array($width, $height)

画像の中心から幅$width, 高さ$height(px)でトリミング

    1. $width x $height指定より小さい画像に指定した場合、正しく表示されないケースがあるようです*1
  1. 'compress' => $compress

圧縮率。0〜10で指定。指定ない場合1.5。

    1. jpeg用の指定

設定例

app/config/bootstrap.php

/* media plugin */
require_once(APP.'plugins'.DS.'media'.DS.'config'.DS.'core.php');

/* Upload画像出力サイズなどの設定 */
require_once ('conf/upfile.php');

app/config/conf/upfile.php

<?php
/* 画像 */
Configure::write('Media.filter.image', array(
	'xxs' => array('convert' => 'image/png', 'fitCrop' => array(16, 16)),
	'xs'  => array('convert' => 'image/png', 'fitCrop' => array(32, 32)),
	's'   => array('convert' => 'image/png', 'zoomCrop' => array(64, 64)),
	'm'   => array('convert' => 'image/png', 'fit' => array(120, 120)),
	'l'   => array('convert' => 'image/png', 'fit' => array(180, 180)),
	'bg'  => array('convert' => 'image/png', 'fitOutside' => array(600, 450)),

));

*1:詳細不明