当前位置: 首页>>代码示例>>PHP>>正文


PHP ImagickDraw::arc方法代码示例

本文整理汇总了PHP中ImagickDraw::arc方法的典型用法代码示例。如果您正苦于以下问题:PHP ImagickDraw::arc方法的具体用法?PHP ImagickDraw::arc怎么用?PHP ImagickDraw::arc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ImagickDraw的用法示例。


在下文中一共展示了ImagickDraw::arc方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: chord

 /**
  * {@inheritdoc}
  */
 public function chord(PointInterface $center, BoxInterface $size, $start, $end, ColorInterface $color, $fill = false, $thickness = 1)
 {
     $x = $center->getX();
     $y = $center->getY();
     $width = $size->getWidth();
     $height = $size->getHeight();
     try {
         $pixel = $this->getColor($color);
         $chord = new \ImagickDraw();
         $chord->setStrokeColor($pixel);
         $chord->setStrokeWidth(max(1, (int) $thickness));
         if ($fill) {
             $chord->setFillColor($pixel);
         } else {
             $this->line(new Point(round($x + $width / 2 * cos(deg2rad($start))), round($y + $height / 2 * sin(deg2rad($start)))), new Point(round($x + $width / 2 * cos(deg2rad($end))), round($y + $height / 2 * sin(deg2rad($end)))), $color);
             $chord->setFillColor('transparent');
         }
         $chord->arc($x - $width / 2, $y - $height / 2, $x + $width / 2, $y + $height / 2, $start, $end);
         $this->imagick->drawImage($chord);
         $pixel->clear();
         $pixel->destroy();
         $chord->clear();
         $chord->destroy();
     } catch (\ImagickException $e) {
         throw new RuntimeException('Draw chord operation failed', $e->getCode(), $e);
     }
     return $this;
 }
开发者ID:jmstan,项目名称:craft-website,代码行数:31,代码来源:Drawer.php

示例2: draw_pie

function draw_pie(&$canvas, $ox, $oy, $r, $sd, $ed, $color)
{
    $draw = new ImagickDraw();
    $draw->setFillColor($color);
    $draw->setStrokeColor($color);
    $draw->setStrokeWidth(1);
    $draw->arc($ox - $r, $oy - $r, $ox + $r, $oy + $r, $sd, $ed);
    $draw->polygon(array(array('x' => $ox, 'y' => $oy), get_coord($ox, $oy, $r, $r, $sd), get_coord($ox, $oy, $r, $r, $ed)));
    $canvas->drawImage($draw);
}
开发者ID:badlamer,项目名称:hhvm,代码行数:10,代码来源:draw_example.php

示例3: perform

 /**
  * Draws an arc on the handle
  *
  * @param Zend_Image_Adapter_ImageMagick $handle The handle on which the ellipse is drawn
  * @param Zend_Image_Action_DrawEllipse $ellipseObject The object that with all info
  */
 public function perform(Zend_Image_Adapter_ImageMagick $adapter, Zend_Image_Action_DrawArc $arcObject)
 {
     $draw = new ImagickDraw();
     $color = (string) $arcObject->getFillColor();
     $draw->setStrokeColor($color);
     $location = $arcObject->getLocation($adapter);
     $cx = $location->getX();
     $cy = $location->getY();
     $width = $arcObject->getWidth();
     $height = $arcObject->getHeight();
     $sx = $cx - $width / 2;
     $ex = $cx + $width / 2;
     $sy = $cy - $height / 2;
     $ey = $cy + $height / 2;
     //$draw->arc($sx, $sy, $ex, $ey, $arcObject->getCutoutStart(), $arcObject->getCutoutEnd());
     //        $draw->arc($sx, $sy, $ex, $ey, 90, 315);
     $draw->arc($sx, $sy, $ex, $ey, 90, 270);
     $adapter->getHandle()->drawImage($draw);
 }
开发者ID:BGCX262,项目名称:zym-svn-to-git,代码行数:25,代码来源:DrawArc.php

示例4: fillArc

 /**
  * Draw filled arc on current instance image
  *
  * @param string $stroke_color
  * @param string $fill_color
  * @param int    $stroke_width
  * @param int    $start_x
  * @param int    $start_y
  * @param int    $end_x
  * @param int    $end_y
  * @param int    $start_angle
  * @param int    $end_angle
  * @param float  $opacity
  *
  * @return image
  */
 public function fillArc($stroke_color, $fill_color, $stroke_width, $start_x, $start_y, $end_x, $end_y, $start_angle = 0, $end_angle = 360, $opacity = 1)
 {
     $fill = new \ImagickDraw();
     $fill->setStrokeWidth($stroke_width);
     $fill->setStrokeColor($stroke_color);
     $fill->setFillColor($fill_color);
     $fill->arc($start_x, $start_y, $end_x, $end_y, $start_angle, $end_angle);
     $this->imagick->drawimage($fill);
     return $this;
 }
开发者ID:s4urp8n,项目名称:kohana-admin,代码行数:26,代码来源:Image.php

示例5: arc

 /**
  * Draws an arc.
  *
  * @param integer $x      The x coordinate of the centre.
  * @param integer $y      The y coordinate of the centre.
  * @param integer $r      The radius of the arc.
  * @param integer $start  The start angle of the arc.
  * @param integer $end    The end angle of the arc.
  * @param string $color   The line color of the arc.
  * @param string $fill    The fill color of the arc (defaults to none).
  */
 public function arc($x, $y, $r, $start, $end, $color = 'black', $fill = 'none')
 {
     $points = Horde_Image::arcPoints($r, $start, $end);
     $points['x1'] += $x;
     $points['x2'] += $x;
     $points['x3'] += $x;
     $points['y1'] += $y;
     $points['y2'] += $y;
     $points['y3'] += $y;
     try {
         $draw = new ImagickDraw();
         $draw->setStrokeColor(new ImagickPixel($color));
         $draw->setFillColor(new ImagickPixel($fill));
         $draw->arc($x - $r, $y - $r, $x + $r, $y + $r, $start, $end);
     } catch (ImagickDrawException $e) {
         throw new Horde_Image_Exception($e);
     } catch (ImagickPixelException $e) {
         throw new Horde_Image_Exception($e);
     }
     // If filled, draw the outline.
     if (!empty($fill)) {
         $mid = round(($start + $end) / 2);
         list($x1, $y1) = Horde_Image::circlePoint($start, $r * 2);
         list($x2, $y2) = Horde_Image::circlePoint($mid, $r * 2);
         list($x3, $y3) = Horde_Image::circlePoint($end, $r * 2);
         $verts = array(array('x' => $x + round($x3), 'y' => $y + round($y3)), array('x' => $x, 'y' => $y), array('x' => $x + round($x1), 'y' => $y + round($y1)));
         if ($mid > 90) {
             $verts1 = array(array('x' => $x + round($x2), 'y' => $y + round($y2)), array('x' => $x, 'y' => $y), array('x' => $x + round($x1), 'y' => $y + round($y1)));
             $verts2 = array(array('x' => $x + round($x3), 'y' => $y + round($y3)), array('x' => $x, 'y' => $y), array('x' => $x + round($x2), 'y' => $y + round($y2)));
             $this->polygon($verts1, $fill, $fill);
             $this->polygon($verts2, $fill, $fill);
         } else {
             $this->polygon($verts, $fill, $fill);
         }
         $this->polyline($verts, $color);
     }
     try {
         $this->_imagick->drawImage($draw);
     } catch (ImagickException $e) {
         throw new Horde_Image_Exception($e);
     }
     $draw->destroy();
 }
开发者ID:raz0rsdge,项目名称:horde,代码行数:54,代码来源:Imagick.php

示例6: arc

function arc($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $startAngle, $endAngle)
{
    //Create a ImagickDraw object to draw into.
    $draw = new \ImagickDraw();
    $draw->setStrokeWidth(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(2);
    $draw->arc($startX, $startY, $endX, $endY, $startAngle, $endAngle);
    //Create an image object which the draw commands can be rendered into
    $image = new \Imagick();
    $image->newImage(IMAGE_WIDTH, IMAGE_HEIGHT, $backgroundColor);
    $image->setImageFormat("png");
    //Render the draw commands in the ImagickDraw object
    //into the image.
    $image->drawImage($draw);
    //Send the image to the browser
    header("Content-Type: image/png");
    echo $image->getImageBlob();
}
开发者ID:sdmmember,项目名称:Imagick-demos,代码行数:20,代码来源:functions.php


注:本文中的ImagickDraw::arc方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。