画像の大きさを変更するには、Resizeを使います。
Resizeで画像の大きさを変更する
Resizeメソッドでは、変更したい横と縦の大きさをパラメータとして渡します。
また、画像の鮮明度を指定する"blur"パラメータもよく利用します。
use strict; use Image::Magick; my $file = 'sample.jpg'; my $ratio = 0.75; # 比率75% my $image = new Image::Magick; $image -> Read( $file ); my( $width, $height ) = $image -> Get( 'width', 'height' ); $image -> Resize( width => int( $width * $ratio ), height => int( $height * $ratio ), blur => 0.8, ); $image -> Set( quality => 80 ); $image -> Write( 'jpeg:sample_after.jpg' ); undef $image; exit;
"Resize"メソッドには、箱にもいくつかのパラメータが用意されています。
Manipulate an Imageには、以下のパラメータが紹介されています。
Method | Parameters | Description |
---|---|---|
Resize |
geometry=>geometry, width=>integer, height=>integer, filter=>{Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos, Bessel, Sinc}, support=>double, blur=>double |
scale image to desired size. Specify blur > 1 for blurry or < 1 for sharp |
パラメータ"blur"についてのみ、説明があります。
"blur"の値が1より大きい場合は曖昧(ぼかし)に、小さいと鮮明(シャープ)になります。
個人的に"blur"の値は0.8を愛用しています。
補足
比率のみを指定して大きさを変更するメソッドがあると便利だと思います。
関連して、指定した大きさに収めてくれるモジュール、Image::Magick::Thumbnail::Simpleを作りました。
更新履歴
- 2008-06-04
- 公開