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

    (PECL imagick 2.0.0)

    Draws a line

    说明

    ImagickDraw::line(float $sx,float $sy,float $ex,float $ey): bool
    Warning

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

    Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

    参数

    $sx

    starting x coordinate

    $sy

    starting y coordinate

    $ex

    ending x coordinate

    $ey

    ending y coordinate

    返回值

    没有返回值。

    范例

    Example #1 ImagickDraw::line()

    <?php
    function line($strokeColor, $fillColor, $backgroundColor) {
        $draw = new \ImagickDraw();
        $draw->setStrokeColor($strokeColor);
        $draw->setFillColor($fillColor);
        $draw->setStrokeWidth(2);
        $draw->setFontSize(72);
        $draw->line(125, 70, 100, 50);
        $draw->line(350, 170, 100, 150);
        $imagick = new \Imagick();
        $imagick->newImage(500, 500, $backgroundColor);
        $imagick->setImageFormat("png");
        $imagick->drawImage($draw);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }
    ?>
    
    <?php
    // a twist on the above radar screen. 
    // This makes random colored spokes from a center point
      $width = 400;
      $height = 400;
      
      $image = new Imagick();
      $image->newImage( $width, $height, new ImagickPixel( 'wheat' ) );
      $draw = new ImagickDraw();
      //$draw->setStrokeColor( new ImagickPixel( 'black' ) );
      $rx = $width / 2;
      $ry = $height / 2;
      $total = 2*M_PI;
      $part = $total / 16;
      while( $total > 0 )
      {
        $ex = $rx +$rx * sin( $total );
        $ey = $ry +$ry * cos( $total );
        $draw->line ( $rx, $ry, $ex, $ey );
        $total -= $part;
      // We need three HEX numbers to create an RGB color code like '#FF33DD'.
      $draw->setStrokeColor( get_random_color() );
      }
      $image->drawImage( $draw );
      $image->setImageFormat( "png" );
      header( "Content-Type: image/png" );
      echo $image;
      exit;
    function get_random_color()    // Thanks to Greg R. for this nice little function.
    {
      for ($i = 0; $i<6; $i++)
      {
        $c .= dechex(rand(0,15));
      }
      return "#$c";
    } 
    ?>