CodeIgniter1.7.3の画像操作クラス「image_lib」でgd2を使って画像をリサイズしてましたが、
なんか元画像と較べると色が少し変と言われてので調査。
qualityを100にしても少し色が違うと・・・。
少し調べると以下のようなサイトが・・・。
GDとImageMagickの画質比較(Asial blog)
GDとImageMagick比較(プログラミングを始める10の理由)
ImageMagickのほうが画質はいいんですね。
で、image_libではGD/GD2、NetPBM、および ImageMagickに対応しているようなので
ImageMagickに変更してみた。
※以下メモ。処理は少し省いています。ファイルアップロード部分とか。
$data = $this->CI->upload->data();
$this->CI->load->library('image_lib');
$config = array();
$config['image_library'] = 'imagemagick';
$config['library_path'] = '/usr/local/bin/convert';
$config['source_image'] = $data['full_path'];
$config['maintain_ratio'] = TRUE;
$config['quality'] = 100;
$config['master_dim'] = 'auto';
$config['new_image'] = $data['file_path'] . $data['raw_name'] . "-" . $size . $data['file_ext'];
$setting = $this->CI->config->item('resize');
if($data['image_width'] >= $data['image_height']) {
$config['width'] = 400;
$config['height'] = 240;
} else {
$config['width'] = 240;
$config['height'] = 400;
}
$this->CI->image_lib->initialize($config);
$this->CI->image_lib->resize();
$this->CI->image_lib->clear();
だいたい上記の用な感じでリサイズしたら元画像と比較しても遜色の無い
綺麗な画像ができました。
※ちなみに上がgd2下がimagemagickです。
わかりずらいけどimagemagickのほうが背景色がより白く元画像に近い。。
ブログだとおなじみ見えるかも。。
