(PECL imagick 2, PECL imagick 3)
ImagickDraw::push — Клонирует текущий объект ImagickDraw и добавляет его в стек
Функцию пока не задокументировали; для знакомства доступен только список аргументов.
Клонирует текущий объект ImagickDraw для создания нового объекта ImagickDraw, который затем добавляется в стек ImagickDraw. Исходный рисующий объект ImagickDraw (или несколько объектов) можно вернуть, вызвав ImagickDraw::pop(). Объекты ImagickDraw хранятся в стеке ImagickDraw. Для каждой операции удаления должна существовать эквивалентная операция добавления.
   Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
  
Пример #1 Пример использования ImagickDraw::push()
<?php
function push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillModifiedColor);
    $draw->setStrokeWidth(2);
    $draw->setFontSize(72);
    $draw->push();
    $draw->translate(50, 50);
    $draw->rectangle(200, 200, 300, 300);
    $draw->pop();
    $draw->setFillColor($fillColor);
    $draw->rectangle(200, 200, 300, 300);
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}
?>