(PECL imagick 2, PECL imagick 3)

Imagick::newImageCreates a new image

Bạn đang xem: newimage


public Imagick::newImage(
    int $cols,
    int $rows,
    mixed $background,
    string $format = ?
): bool



Columns in the new image


Rows in the new image


The background color used for this image


Image format. This parameter was added in Imagick version 2.0.1.


Liefert true bei Erfolg.


Wirft ImagickException bei Fehlern.


Version Beschreibung
PECL imagick 2.1.0 Now allows a string representing the color as the third parameter. Previous versions allow only an ImagickPixel object.


Beispiel #1 Using Imagick::newImage():

Create a new image and display it.



= new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');header('Content-type: image/png');

christian dot reinecke at trang web dot de ¶

Xem thêm: realme 3 pro

14 years ago

The color value (3rd argument) for transparency is "none".

jfalner1 at gmail dot com

8 years ago

As it isn't obvious, the cols and rows arguments correspond to tát the width and height of the new image, expressed in pixels. Example #1 would generate a 100 px by 100 px image.

Eduard Sukharev ¶

7 years ago

It's not obvious and may be related only to tát some specific versions of ImageMagick (tested only for 6.7.7 and 6.8.9), but $cols and $rows must be a positive non-zero value.



= new Imagick();
$image->newImage(0, 100, new ImagickPixel('red'));
$image->setImageFormat('png');file_put_contents('image.png', $image);

In this case imagemagick will crash without throwing any exception and you'll get something along the lines (in your apache error log or console output):

unable to tát acquire cache view `No such tệp tin or directory' @ fatal/cache-view.c/AcquireAuthenticCacheView/121.

Xem thêm: triumph

This might be the case when you calculate $cols and $rows (say, based on user input and predefined target image DPI):



= new Imagick();
$img->newImage($userInput->getWidth() * $defaultPpi, $userInput->getHeight() * $defaultPpi, new ImagickPixel('white'));

In this case if user requested image with 0.006 width (in inches), the code would work for $defaultPpi = 300 ppi, but would crash for
$defaultPpi = 72 ppi