Imagick::importImagePixels

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

Imagick::importImagePixels β€” Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ пиксСли изобраТСния

ОписаниС

public function Imagick::importImagePixels(
Β Β Β Β int $x,
Β Β Β Β int $y,
Β Β Β Β int $width,
Β Β Β Β int $height,
Β Β Β Β string $map,
Β Β Β Β int $storage,
Β Β Β Β array $pixels
): bool

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ пиксСли ΠΈΠ· массива Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. map ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ "RGB". Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ограничСния Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: количСство пиксСлСй Π² массивС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ width x height количСству пиксСлСй. ΠœΠ΅Ρ‚ΠΎΠ΄ доступСн, Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Imagick скомпилировали с вСрсиСй ImageMagick 6.4.5 ΠΈΠ»ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

x

ПолоТСниС изобраТСния ΠΏΠΎ оси X.

y

ПолоТСниС изобраТСния ΠΏΠΎ оси Y.

width

Π¨ΠΈΡ€ΠΈΠ½Π° изобраТСния.

height

Высота изобраТСния.

map

ΠšΠ°Ρ€Ρ‚Π° упорядочСния пиксСлСй Π² Π²ΠΈΠ΄Π΅ строки. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, RGB. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ порядком: R = красный, G = Π·Π΅Π»Ρ‘Π½Ρ‹ΠΉ, B = синий, A = Π°Π»ΡŒΡ„Π° (0 - ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ), O = Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ (0 - Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ), C = Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ, Y = ΠΆΡ‘Π»Ρ‚Ρ‹ΠΉ, M = ΠΏΡƒΡ€ΠΏΡƒΡ€Π½Ρ‹ΠΉ, K = Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ, I = ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ (для ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ² сСрого), P = Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ.

storage

ΠœΠ΅Ρ‚ΠΎΠ΄ хранСния пиксСлСй. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ список констант пиксСлСй.

pixels

Массив пиксСлСй.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true.

Ошибки

Ѐункция выбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ImagickException, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Imagick::importImagePixels()

<?php

/* Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива пиксСлСй. 2000 пиксСлСй Π½Π° Ρ†Π²Π΅Ρ‚Π½ΡƒΡŽ полосу */
$count = 2000 * 3;

$pixels =
array_merge(array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0));

/* Π¨ΠΈΡ€ΠΈΠ½Π° ΠΈ высота. ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ - это количСство пиксСлСй, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ Π½Π° Ρ‚Ρ€ΠΈ.
Π’Ρ€ΠΈ происходит ΠΎΡ‚ "RGB", Ρ‚Ρ€ΠΈ значСния Π½Π° пиксСль. */
$width = $height = pow((count($pixels) / 3), 0.5);

/* Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого изобраТСния */
$im = new Imagick();
$im->newImage($width, $height, 'gray');

/* Π˜ΠΌΠΏΠΎΡ€Ρ‚ пиксСлСй Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
width * height * strlen("RGB") Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);

/* Π’Ρ‹Π²ΠΎΠ΄ изобраТСния */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo
$im;

?>

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆ Π½Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Imagick::importImagePixels()
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы