透明度的顏色值 (第三個參數) 為 "none"。
(PECL imagick 2, PECL imagick 3)
Imagick::newImage — 建立新影像
建立新影像並將 ImagickPixel 值作為背景顏色
cols
新影像中的欄數
rows
新影像中的列數
background
用於此影像的背景顏色
format
影像格式。此參數在 Imagick 版本 2.0.1 中新增。
成功時傳回 true
。
發生錯誤時擲回 ImagickException。
版本 | 描述 |
---|---|
PECL imagick 2.1.0 | 現在允許使用代表顏色的字串作為第三個參數。先前版本僅允許 ImagickPixel 物件。 |
範例 #1 使用 Imagick::newImage()
建立新影像並顯示它。
<?php
$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');
header('Content-type: image/png');
echo $image;
?>
由於並不顯而易見,cols 和 rows 參數對應於新影像的寬度和高度,以像素表示。範例 #1 會產生一個 100 像素乘 100 像素的影像。
這並不顯而易見,而且可能僅與 ImageMagick 的某些特定版本有關 (僅針對 6.7.7 和 6.8.9 進行測試),但 $cols 和 $rows 必須為正的非零值。
<?php
$image = new Imagick();
$image->newImage(0, 100, new ImagickPixel('red'));
$image->setImageFormat('png');
file_put_contents('image.png', $image);
?>
在這種情況下,imagemagick 會崩潰而不會擲回任何例外,而且您會得到類似 (在您的 apache 錯誤日誌或主控台輸出中) 的訊息
無法取得快取視圖 `No such file or directory' @ fatal/cache-view.c/AcquireAuthenticCacheView/121。
當您計算 $cols 和 $rows 時可能會發生這種情況 (例如,根據使用者輸入和預定義的目標影像 DPI)
<?php
$image = new Imagick();
$img->newImage($userInput->getWidth() * $defaultPpi, $userInput->getHeight() * $defaultPpi, new ImagickPixel('white'));
?>
在這種情況下,如果使用者請求的影像寬度為 0.006 英吋,則程式碼將適用於 $defaultPpi = 300 ppi,但對於
$defaultPpi = 72 ppi 會崩潰