downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Imagick::rollImage> <Imagick::resetImagePage
Last updated: Fri, 13 Nov 2009

view this page in

Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImage画像のサイズを変更する

説明

bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )
警告

この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

指定した大きさと フィルタ で、画像のサイズを変更します。

注意: パラメータ bestfit の挙動は Imagick 3.0.0 で変わりました。 これより前のバージョンでは、200x150 の画像に対して 400x400 を指定した場合は何もせずそのままになっていました。 Imagick 3.0.0 以降では、この画像は 400x300 に拡大されます。これが、 指定したサイズに対して「ベストフィット」する大きさだからです。 bestfit を使う場合は、幅と高さの両方を指定しなければなりません。

パラメータ

columns

画像の幅。

rows

画像の高さ。

filter

フィルタ定数 の一覧を参照ください。

blur

blur 要素。> 1 はぼやけた状態、< 1 はシャープな状態を表します。

bestfit

オプションの fit パラメータ。デフォルトは false。

返り値

成功した場合に TRUE を返します。

変更履歴

バージョン 説明
2.1.0 オプションのパラメータ fit が追加され、 このメソッドは、比例形式の拡大・縮小をサポートするようになりました。 どちらかのパラメータにゼロを渡すと比例形式の拡大・縮小を行います。



Imagick::rollImage> <Imagick::resetImagePage
Last updated: Fri, 13 Nov 2009
 
add a note add a note User Contributed Notes
Imagick::resizeImage
michael dot heca at gmail dot com
16-Nov-2009 01:18
Use setImageOpacity(1.0) before resizing, for proper handling of transparency in png and gif.
dennis at gofolo dot com
08-Nov-2009 02:32
Having to do alot of resizing, i needed to know the speeds of the different resize filters.
This was how long it took to resize a 5906x5906 JPEG image to 1181x1181.

FILTER_POINT took: 0.334532976151 seconds
FILTER_BOX took: 0.777871131897 seconds
FILTER_TRIANGLE took: 1.3695909977 seconds
FILTER_HERMITE took: 1.35866093636 seconds
FILTER_HANNING took: 4.88722896576 seconds
FILTER_HAMMING took: 4.88665103912 seconds
FILTER_BLACKMAN took: 4.89026689529 seconds
FILTER_GAUSSIAN took: 1.93553304672 seconds
FILTER_QUADRATIC took: 1.93322920799 seconds
FILTER_CUBIC took: 2.58396601677 seconds
FILTER_CATROM took: 2.58508896828 seconds
FILTER_MITCHELL took: 2.58368492126 seconds
FILTER_LANCZOS took: 3.74232912064 seconds
FILTER_BESSEL took: 4.03305602074 seconds
FILTER_SINC took: 4.90098690987 seconds

I ended up choosing CATROM as it has a very similar result to LANCZOS, but is significantly faster.
billadoid [at ' at '] ['gmail' here] dot com
05-Nov-2008 07:50
<?php
$height
=$thumb->getImageHeight();
$width=$thumb->getImageWidth();
if (
$height < $width)
 
$thumb->scaleImage(800,0);
 else
 
$thumb->scaleImage(0,600);
?>

Something like this will cause a fatal error when you try to create a thumbnail of an uploaded picture of.. 10x15000 resolution.

It will work nice only if you enable the 'fit':

<?php
$height
=$thumb->getImageHeight();
$width=$thumb->getImageWidth();
if (
$width > 800)
$thumb->scaleImage(800,600,true);
if (
$height > 600)
$thumb->scaleImage(800,600,true);
?>

Note: Maybe I misspelled something or though something wrong. i.e. you could think why would I create a thumbnail of 800x600.

Hope it will helps s/o
andrabr at gmail dot com
24-Aug-2007 11:08
blur:  > 1 is blurry, < 1 is sharp

To create a nice thumbnail (LANCZOS is the slowest filter):

<?php

$thumb
= new Imagick();
$thumb->readImage('myimage.gif');    $thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy();

?>

Or, a shorter version of the same:

<?php

$thumb
= new Imagick('myimage.gif');

$thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');

$thumb->destroy();

?>

Imagick::rollImage> <Imagick::resetImagePage
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites