ImagickDraw::ellipse

(PECL imagick 2, PECL imagick 3)

ImagickDraw::ellipse在图像上绘制椭圆

描述

public ImagickDraw::ellipse(
    float $ox,
    float $oy,
    float $rx,
    float $ry,
    float $start,
    float $end
): bool
警告

此函数目前没有文档记录;仅提供参数列表。

在图像上绘制一个椭圆。

参数

ox

oy

rx

ry

start

end

返回值

不返回值。

示例

示例 #1 ImagickDraw::ellipse() 示例

<?php
function ellipse($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->ellipse(125, 70, 100, 50, 0, 360);
$draw->ellipse(350, 70, 100, 50, 0, 315);

$draw->push();
$draw->translate(125, 250);
$draw->rotate(30);
$draw->ellipse(0, 0, 100, 50, 0, 360);
$draw->pop();

$draw->push();
$draw->translate(350, 250);
$draw->rotate(30);
$draw->ellipse(0, 0, 100, 50, 0, 315);
$draw->pop();

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

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

?>

添加注释

用户贡献注释 1 条注释

Axeia
15 年前
<?php
/**
* 请注意,如果您使用描边。(Imagick::setStrokeWidth(2))则
* 描边将绘制在椭圆尺寸的外部。
*
* @param float $ox - 偏移量 X,从椭圆中心到图像左边的距离
* @param float $oy - 偏移量 Y,从椭圆中心到图像顶部的距离
* @param float $rx - X 半径
* @param float $ry - Y 半径
* @param float float $start - 以度为单位的起始角度。
* @param float float $end - 以度为单位的结束角度。
*
*/
ImagickDraw::ellipse( float $ox , float $oy , float $rx , float $ry , float $start , float $end );
?>

绘制完整椭圆(从 0 到 360 度)并将其输出为 PNG 的示例。
请注意,默认情况下,此函数是抗锯齿的,与 GD 函数不同,GD 函数仅支持非透明背景上的线条的抗锯齿。
<?php
$width
= 200;
$height = 100;
$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' ) );
// 从半径中减去边框,以防止它超出屏幕。
$draw->ellipse( $width/2, $height/2, ($width/2)-$border, ($height/2)-$border, 0, 360 );
$img->drawImage( $draw );
$img->setImageFormat( "png" );

header( "Content-Type: image/png" );
echo
$img;
?>
To Top