PHP Conference Japan 2024

Imagick::exportImagePixels

(PECL imagick 2 >=2.3.0, PECL imagick 3)

Imagick::exportImagePixels匯出原始影像像素

描述

public Imagick::exportImagePixels(
    int $x,
    int $y,
    int $width,
    int $height,
    string $map,
    int $STORAGE
): array

將影像像素匯出至陣列。map 定義匯出像素的順序。傳回陣列的大小為 width * height * strlen(map)。如果 Imagick 是針對 ImageMagick 6.4.7 或更新版本編譯的,則可以使用此方法。

參數

x

匯出區域的 X 座標

y

匯出區域的 Y 座標

width

匯出區域的寬度

height

匯出區域的高度

map

匯出像素的順序。例如 "RGB"。map 的有效字元為 R、G、B、A、O、C、Y、M、K、I 和 P。

STORAGE

請參考此 像素型別常數 列表

傳回值

傳回包含像素值的陣列。

錯誤/例外

發生錯誤時拋出 ImagickException。

範例

範例 1 使用 Imagick::exportImagePixels()

將影像像素匯出至陣列

<?php

/* 建立新物件 */
$im = new Imagick();

/* 建立新影像 */
$im->newPseudoImage(0, 0, "magick:rose");

/* 匯出影像像素 */
$pixels = $im->exportImagePixels(10, 10, 2, 2, "RGB", Imagick::PIXEL_CHAR);

/* 輸出 */
var_dump($pixels);
?>

以上範例會輸出

array(12) {
  [0]=>
  int(72)
  [1]=>
  int(64)
  [2]=>
  int(57)
  [3]=>
  int(69)
  [4]=>
  int(59)
  [5]=>
  int(43)
  [6]=>
  int(124)
  [7]=>
  int(120)
  [8]=>
  int(-96)
  [9]=>
  int(91)
  [10]=>
  int(84)
  [11]=>
  int(111)
}

新增筆記

使用者貢獻筆記 1 筆記

P S
2 年前
以下是 map 的字母

R = 紅色
G = 綠色
B = 藍色
A = alpha(0 是透明)
O = alpha(0 是不透明)
C = 青色
Y = 黃色
M = 洋紅色
K = 黑色
I = 強度(用於灰階)
P = 補白
To Top