The color value (3rd argument) for transparency is "none".
(PECL imagick 2, PECL imagick 3)
Imagick::newImage — Crea una nueva imagen
Crea una nueva imagen y asocia el valor de ImagickPixel al color de fondo
cols
Columnas en la nueva imagen
rows
Filas en la nueva imagen
background
El color de fondo usado para esta imagen
format
El formato de la imagen. Este parámetro se añadió en la versión 2.0.1 de Imagick.
Devuelve true
en caso de éxito.
Lanza ImagickException en caso de error.
Versión | Descripción |
---|---|
PECL imagick 2.1.0 | Ahora se permite que una cadena represente el color como tercer parámetro Versiones anteriores sólo permitían un objeto ImagickPixel. |
Ejemplo #1 Usar Imagick::newImage():
Crear una nueva imagen y mostrarla.
<?php
$imagen = new Imagick();
$imagen->newImage(100, 100, new ImagickPixel('red'));
$imagen->setImageFormat('png');
header('Content-type: image/png');
echo $imagen;
?>
The color value (3rd argument) for transparency is "none".
As it isn't obvious, the cols and rows arguments correspond to the width and height of the new image, expressed in pixels. Example #1 would generate a 100 pixel by 100 pixel image.
It's not obvious and may be related only to 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.
<?php
$image = 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 acquire cache view `No such file or directory' @ fatal/cache-view.c/AcquireAuthenticCacheView/121.
This might be the case when you calculate $cols and $rows (say, based on user input and predefined target image DPI):
<?php
$image = 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