Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 17999 программистов и 1567 роботов. Сейчас ищут 919 программистов ...
Приступая к работе

ImagickDraw::bezier - Draws a bezier curve

Вернуться к: ImagickDraw

ImagickDraw::bezier

(PECL imagick 2.0.0)

ImagickDraw::bezierDraws a bezier curve

Описание

bool ImagickDraw::bezier ( array $coordinates )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Draws a bezier curve through a set of points on the image.

Список параметров

coordinates

Multidimensional array like array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 ImagickDraw::bezier()

<?php
function bezier($strokeColor$fillColor$backgroundColor) {

    
$draw = new \ImagickDraw();

    
$strokeColor = new \ImagickPixel($strokeColor);
    
$fillColor = new \ImagickPixel($fillColor);

    
$draw->setStrokeOpacity(1);
    
$draw->setStrokeColor($strokeColor);
    
$draw->setFillColor($fillColor);

    
$draw->setStrokeWidth(2);

    
$smoothPointsSet = [
        [
            [
'x' => 10.0 5'y' => 10.0 5],
            [
'x' => 30.0 5'y' => 90.0 5],
            [
'x' => 25.0 5'y' => 10.0 5],
            [
'x' => 50.0 5'y' => 50.0 5],
        ], 
        [
            [
'x' => 50.0 5'y' => 50.0 5],
            [
'x' => 75.0 5'y' => 90.0 5],
            [
'x' => 70.0 5'y' => 10.0 5],
            [
'x' => 90.0 5'y' => 40.0 5],
        ],
    ];

    foreach (
$smoothPointsSet as $points) {
        
$draw->bezier($points);
    }

    
$disjointPoints = [
        [
            [
'x' => 10 5'y' => 10 5], 
            [
'x' => 30 5'y' => 90 5], 
            [
'x' => 25 5'y' => 10 5],
            [
'x' => 50 5'y' => 50 5],
        ],
        [
            [
'x' => 50 5'y' => 50 5], 
            [
'x' => 80 5'y' => 50 5],
            [
'x' => 70 5'y' => 10 5],
            [
'x' => 90 5'y' => 40 5],
         ]
    ];
    
$draw->translate(0200);

    foreach (
$disjointPoints as $points) {
        
$draw->bezier($points);
    }

    
//Create an image object which the draw commands can be rendered into
    
$imagick = new \Imagick();
    
$imagick->newImage(500500$backgroundColor);
    
$imagick->setImageFormat("png");

    
//Render the draw commands in the ImagickDraw object 
    //into the image.
    
$imagick->drawImage($draw);

    
//Send the image to the browser
    
header("Content-Type: image/png");
    echo 
$imagick->getImageBlob();
}

?>



Вернуться к: ImagickDraw

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware