• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ImagickDraw::setStrokeLineJoin()

    (PECL imagick 2.0.0)

    Specifies the shape to be used at the corners of paths when they are stroked

    说明

    ImagickDraw::setStrokeLineJoin(int $linejoin): bool
    Warning

    本函数还未编写文档,仅有参数列表。

    Specifies the shape to be used at the corners of paths(or other vector shapes)when they are stroked.

    参数

    $linejoin

    LINEJOIN_ constant

    返回值

    没有返回值。

    范例

    Example #1 ImagickDraw::setStrokeLineJoin()

    <?php
    function setStrokeLineJoin($strokeColor, $fillColor, $backgroundColor) {
        $draw = new \ImagickDraw();
        $draw->setStrokeWidth(1);
        $draw->setStrokeColor($strokeColor);
        $draw->setFillColor($fillColor);
        $draw->setStrokeWidth(20);
        $offset = 220;
        $lineJoinStyle = [
            \Imagick::LINEJOIN_MITER,
            \Imagick::LINEJOIN_ROUND,
            \Imagick::LINEJOIN_BEVEL,
            ];
        for ($x = 0; $x < count($lineJoinStyle); $x++) {
            $draw->setStrokeLineJoin($lineJoinStyle[$x]);
            $points = [
                ['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
                ['x' => 20 * 5, 'y' => 20 * 5 + $x * $offset],
                ['x' => 70 * 5, 'y' => 50 * 5 + $x * $offset],
                ['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
            ];
            $draw->polyline($points);
        }
        $image = new \Imagick();
        $image->newImage(500, 700, $backgroundColor);
        $image->setImageFormat("png");
        $image->drawImage($draw);
        header("Content-Type: image/png");
        echo $image->getImageBlob();
    }
    ?>
    
    From imagick_helpers.c (pecl release), possible values are:
     LINEJOIN_UNDEFINED
     LINEJOIN_MITER
     LINEJOIN_ROUND
     LINEJOIN_BEVEL
    For many (myself included) Rex's note maybe not be blatant enough. The constants are declared for the Imagick class only, so using them requires this syntax: Imagick::LINEJOIN_ constant
    Here's an example oh how you might use it:
    <?php
    $img = new Imagick();
    $img->newImage($width, $height, new ImagickPixel('transparent'));
    $draw = new ImagickDraw();
    $draw->setStrokeLineJoin(Imagick::LINEJOIN_ROUND);
    ?>
    If you're not drawing polylines and are drawing simple lines, also see setStrokeLineCap