PHP.mk документација

ImagickDraw::bezier

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

imagickdraw.bezier.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека imagickdraw.bezier.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ImagickDraw::bezier

Референца за `imagickdraw.bezier.php` со подобрена типографија и навигација.

imagickdraw.bezier.php

ImagickDraw::bezier

(PECL imagick 2, PECL imagick 3)

ImagickDraw::bezierЦрта Безје крива

= NULL

public ImagickDraw::bezier(array $coordinates): bool
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Оваа функција моментално не е документирана; достапна е само листата со аргументи.

Црта Безје крива низ сет од точки на сликата.

Параметри

coordinates

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

Вратени вредности

Не се враќа вредност.

Примери

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

<?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(0, 200);

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

//Create an image object which the draw commands can be rendered into
$imagick = new \Imagick();
$imagick->newImage(500, 500, $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();
}

?>

Белешки од корисници 2 забелешки

SkepticaLee
12 години пред
This function requires at least 3 points. The following code fails when there are only two points left in the array:

<?php
$im = new Imagick ();
$points = array (array ('x' => 10, 'y' => 10), array ('x' => 20, 'y' => 10), array ('x' => 30, 'y' => 40), array ('x' => 40, 'y' => 20), array ('x' => 50, 'y' => 60));
$n = 0;
while (!empty ($points))
{
    $im->newImage (64, 64, "white");
    $draw = new ImagickDraw ();
    $draw->setFillColor ("none");
    $draw->setStrokeWidth (4);
    $draw->setStrokeColor ("black");
    $draw->setStrokeOpacity (0.9);
    $draw->setStrokeAntiAlias (true);
    $draw->bezier ($points);
    $im->drawImage ($draw);
    $im->writeImage ("IMG_$n.png");
    $draw->destroy ();
    $im->destroy ();
    echo count ($points) . ", $n: <img src=\"IMG_$n.png\"><br>";
    $n++;
    array_shift ($points);
}
?>
zombiebovine на gmail точка com
пред 16 години
How to use:

<?php
    $width =  200;
    $height = 200;
    $border = 2;
    
    $img = new Imagick();
    $img->newImage( $width, $height, new ImagickPixel( 'transparent' ) );
    
    $draw = new ImagickDraw();
    $draw->setStrokeColor( new ImagickPixel( 'black' ) );
    $draw->setStrokeWidth( 2 );
    $draw->setFillColor( new ImagickPixel( 'transparent' ) );

    // will fail in an obscure manner if the input data is invalid
    $points = array
    ( 
        array( 'x' => 0, 'y' => 200 ), 
        array( 'x' => 0, 'y' => 0 ), 
        array( 'x' => 200, 'y' => 200 ), 
        array( 'x' => 200, 'y' => 0 )
    );
    
    $draw->bezier($points);
            
    $img->drawImage( $draw );
    $img->setImageFormat( "png" );
    
    header( "Content-Type: image/png" );
    echo $img;
?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.