PHPとImageMagickで画像縦横比が2対3となるよう縮小トリミングしたい

投稿者: Anonymous 画像縦横比が2対3の場合 何もしない 画像縦横比が2対3以外の場合 画像縦横比が2対3となるよう(良い感じに)縮小したい 短辺を基準?にしてリサイズ後、(左上基準で)トリミング?? 作成中のコード $im = new Imagick(); $size = $im->getImageGeometry(); $w = $size[‘width’]; $h = $size[‘height’]; if($w > $h){ //縦が短辺 if($w*3 != $h*2){ $im->resize(null, $h, function ($constraint) { $constraint->aspectRatio(); }); $im->cropImage(?, $h, 0, 0); } }elseif($w = $h){ }elseif($w < $h){ if($h*3 != $w*2){ } } 解決 どの部分がわからないで質問されているのか曖昧な部分がありますが、2:3(縦長)で入力画像のはみでる部分だけをトリミングする場合こんなかんじでしょうか。(小数点以下の端数が出るアス比は適当に近い数字で) <?php function…(Continue Reading)

画像に対する「自然な彩度」補正の実装について

投稿者: Anonymous 「自然な彩度」について調べているのですが、スケール対数曲線による自然な彩度補正に掲載されている内容が良く分かりません 線形補正について -evaluate multiply の値を変えるだけですか? 線形補正1.2 $ convert 前.jpg -colorspace hsl -channel g -evaluate multiply 1.2 +channel -colorspace srgb 後.jpg 線形補正2 $ convert 前.jpg -colorspace hsl -channel g -evaluate multiply 2 +channel -colorspace srgb 後.jpg スケール対数補正1.3について 下記何れですか? $ convert 前.jpg -colorspace hsl -channel g -evaluate log 1 +channel -colorspace srgb 後.jpg $ convert…(Continue Reading)

php-pecl-imagick パッケージをバージョンアップするには?

投稿者: Anonymous 試したこと 「ImageMagick6-libs-6」のみインストールしていた環境(CentOS7)へ「ImageMagick-7」と「ImageMagick-libs-7」を新たにインストールしました 現状 コマンドで確認 # rpm -qa | grep -i imagemagick ImageMagick-libs-7.0.8-54.x86_64 ImageMagick6-libs-6.9.9.39-1.el7.remi.x86_64 ImageMagick-7.0.8-54.x86_64 # php -i | grep imagick /etc/php.d/40-imagick.ini, imagick imagick module => enabled imagick module version => 3.4.3 PHPで確認 print_r(Imagick::getVersion()); Array ( [versionNumber] => 1689 [versionString] => ImageMagick 6.9.9-39 ) Q1.PHP(Imagick)からのバージョンが変わらないのはなぜですか? Imagickバージョンが、今回のインストールでアップグレードされるものと思っていたのですが、全く変わりませんでした。Nginx再起動と、php-fpm再起動をしても変わりませんでした。なぜ? Q2.「ImageMagick 6.9.9」と「imagick module version 3.4.3」の関係性は? ・Imagickの最新版は3.4.4で、これは「ImageMagick 7」に対応している?? ・3.4.3…(Continue Reading)

ImageMagickをつかってサイズの変更したのですが、色空間が勝手にgrayになってしまう

投稿者: Anonymous ImageMagickのconvertコマンドを使ってリサイズを実行したのですが、 色空間がgrayに変換されてしまいます。(入力ファイルの色空間はRGB) convert img001.png -resize 532×366! img_resize001.png 入力ファイル 出力ファイル そこで-colorspaceを指定して入出力ともにRGBを指定したのですが、それでも出力ファイルの色空間はgrayになってしいます。 convert img005.png -colorspace RGB -resize 532×366! -colorspace RGB img_resize005.png なにか他に指定/設定が必要なのでしょうか? もし、お分かりになられる方いらっしゃいましたら、ご教示をお願い致します。 ※ImageMagickのバージョン情報はこちらです $ convert -version Version: ImageMagick 6.8.9-5 Q16 x86_64 2014-07-25 http://www.imagemagick.org Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC Features: DPC Modules Delegates: bzlib freetype jng jpeg ltdl lzma png xml zlib 解決…(Continue Reading)

自分で make した ImageMagick が PNG を扱えません

投稿者: Anonymous 初めてAWSでEC2の設定をしています。 PHPとImageMagickをインストールしたのですが、PNGが変換できません。 PHPのログを見ると、 [0] => convert: no decode delegate for this image format `PNG’ @ error/constitute.c/ReadImage/509. と出ていましたので、色々調べて、「libpng 」をインストールしました。 しかし、何度やってもPNGが使えるようになりません。 ImageMagickのディレクトリで、sudo ./configure と打つと、 PNG –with-png=yes no と出ています。 インストールしたものは以下となります。 [[email protected] src]$ ls autoconf-latest ImageMagick.tar.gz m4-1.4.18.tar.gz autoconf-latest.tar.gz libpng-1.6.29 zlib-1.2.11 download libpng-1.6.29.tar.gz zlib-1.2.11.tar.gz ImageMagick-7.0.5-4 m4-1.4.18 ImageMagickのパスにlibpngが通っていない気がするのですが、 どこをどうチェックすればいいのかわかりません。 どなたか、どこをどうチェックすれば、何が足りないのかわかるようになるか、 教えていただけないでしょうか? どうぞよろしくお願い致します。 ※追記です。 libpng のインストールの具体的な手順は以下です。 cd /usr/local/src/ sudo wget…(Continue Reading)

PHP + ImageMagick / サーバにインストールされている全てのフォント毎に、ダミー文字列を一覧でテキスト画像化したい

投稿者: Anonymous 現状 フォント名を含む一覧は取得できたのですが、これをループで回して画像出力するにはどうすればよいでしょうか? exec(“convert -list font”, $output); print_r($output); Array ( [0] => [1] => Path: /usr/lib64/ImageMagick-6.5.4/config/type-ghostscript.xml [2] => Font: AvantGarde-Book [3] => family: AvantGarde [4] => style: Normal [5] => stretch: Normal [6] => weight: 400 [7] => glyphs: /usr/share/fonts/default/Type1/a010013l.pfb [8] => Font: AvantGarde-BookOblique [9] => family: AvantGarde [10] => style: Oblique [11] =>…(Continue Reading)

imagemagickで様々な種類の画像を一括変換したい

投稿者: Anonymous フォルダ内にこのような画像がたくさんがあります。 123.jeg abc.png 1a2b.gif aaa.svg 変換後のファイル名が下記のようになるようにimagemagickを使用してWidgh800px、Height480pxでアスペクト比を維持したまま縮小し、imagesというフォルダの中に一括変換して保存したいです。 123.jpg.jpg abc.png.jpg 1a2b.gif.jpg aaa.svg.jpg 解決 ImageMagickは明示的にアスペクト比を無視する指定をしなければアスペクト比は維持されるので mkdir -p images find * -maxdepth 0 -type f -name ‘*’ -exec convert {} -resize 800×480 images/{}.jpg ; で変換されると思います。 厳密にするなら画像の拡張子だけをフィルタリングしたほうがいいでしょうが、フォルダ内には画像しかないものとして書いています。 回答者: Anonymous