CakeFest 2024: The Official CakePHP Conference

Imagick::newImage

(PECL imagick 2, PECL imagick 3)

Imagick::newImageYeni bir görüntü oluşturur

Açıklama

public Imagick::newImage(
    int $genişlik,
    int $yükseklik,
    mixed $artalan,
    string $biçem = ?
): bool

Bir ImagickPixel değerini artalan rengi ile ilişkilendirerek yeni bir görüntü oluşturur.

Bağımsız Değişkenler

genişlik

Yeni görüntünün genişliği.

yükseklik

Yeni görüntünün yüksekliği.

artalan

Yeni görüntünün artalan rengi.

biçem

Görüntü biçemi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: Açıklama
PECL imagick 2.1.0 Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.
PECL imagick 2.0.1 Seçimlik biçem bağımsız değişkeni eklendi

Örnekler

Örnek 1 - Imagick::newImage() örneği

Yeni bir görüntü oluşturup görüntüleyelim.

<?php

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

header('Content-type: image/png');
echo
$image;

?>

add a note

User Contributed Notes 3 notes

up
43
christian dot reinecke at web dot de
14 years ago
The color value (3rd argument) for transparency is "none".
up
5
jfalner1 at gmail dot com
8 years ago
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.
up
1
Eduard Sukharev
7 years ago
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
To Top