Use setImageOpacity(1.0) before resizing, for proper handling of transparency in png and gif.
Imagick::resizeImage
(PECL imagick 2.0.0)
Imagick::resizeImage — Scales an image
설명
bool Imagick::resizeImage
( int $columns
, int $rows
, int $filter
, float $blur
[, bool $fit= false
] )
Warning
이 함수는 현재 문서화 되어있지 않습니다; 인수 목록만을 제공합니다.
Scales an image to the desired dimensions with a filter.
인수
- columns
-
Width of the image
- rows
-
Height of the image
- filter
-
Refer to the list of filter constants.
- blur
-
The blur factor where > 1 is blurry, < 1 is sharp.
- fit
-
Optional fit parameter. Defaults to false.
반환값
성공시에 TRUE를 반환합니다.
변경점
| 버전 | 설명 |
|---|---|
| 2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling. |
Imagick::resizeImage
michael dot heca at gmail dot com
16-Nov-2009 01:18
16-Nov-2009 01:18
dennis at gofolo dot com
08-Nov-2009 02:32
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
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
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();
?>
