📜  PHP | imagickdraw scale()函数

📅  最后修改于: 2022-05-13 01:56:52.354000             🧑  作者: Mango

PHP | imagickdraw scale()函数

ImagickDraw::scale()函数是PHP中的一个内置函数,用于调整缩放因子以应用于当前坐标空间的水平和垂直方向。

句法:

bool ImagickDraw::scale( $x, $y )

参数:该函数接受上面提到的两个参数,如下所述:

  • $x:此参数用于保存水平因子的值。
  • $y:此参数用于保存垂直因子的值。

返回值:此函数在成功时返回 True。
下面的程序说明了PHP中的ImagickDraw::scale()函数

方案一:

PHP
setStrokeColor('Green');
 
// Set the Fill Color
$draw->setFillColor('Red');
 
// Set the stroke width
$draw->setStrokeWidth(7);
 
// Draw the rectangle
$draw->rectangle(40, 30, 200, 260);
 
// Set the scale
$draw->scale(1.4, 1.4);
 
// Set the fill color
$draw->setFillColor('lightgreen');
 
// Draw the rectangle
$draw->rectangle(40, 30, 200, 260);
 
// Create an Imagick object
$image = new \Imagick();
 
// Set the image dimensions
$image->newImage(800, 400, 'White');
 
// Set the image format
$image->setImageFormat("png");
 
// Draw the image
$image->drawImage($draw);
header("Content-Type: image/png");
 
// Display the image
echo $image->getImageBlob();
?>


PHP
setStrokeOpacity(1);
 
// Set the stroke color
$draw->setStrokeColor('Green');
 
// Set the Fill Color
$draw->setFillColor('Red');
 
// Set the stroke width
$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],
        ]
    ];
 
foreach ($smoothPointsSet as $points) {
    $draw->bezier($points);
}
 
// Set the stroke color
$draw->setStrokeColor('black');
 
// Set the fill color
$draw->setFillColor('lightgreen');
 
// Set the scale
$draw->scale(1.5, 1.5);
 
    foreach ($smoothPointsSet as $points) {
        $draw->bezier($points);
    }
 
// Create an imagick object
$imagick = new \Imagick();
 
// Set the image dimensions
$imagick->newImage(400, 500, 'White');
 
// Set the image format
$imagick->setImageFormat("png");
 
// Draw the image
$imagick->drawImage($draw);
header("Content-Type: image/png");
 
// Display the image
echo $imagick->getImageBlob();
?>


输出:

方案二:

PHP

setStrokeOpacity(1);
 
// Set the stroke color
$draw->setStrokeColor('Green');
 
// Set the Fill Color
$draw->setFillColor('Red');
 
// Set the stroke width
$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],
        ]
    ];
 
foreach ($smoothPointsSet as $points) {
    $draw->bezier($points);
}
 
// Set the stroke color
$draw->setStrokeColor('black');
 
// Set the fill color
$draw->setFillColor('lightgreen');
 
// Set the scale
$draw->scale(1.5, 1.5);
 
    foreach ($smoothPointsSet as $points) {
        $draw->bezier($points);
    }
 
// Create an imagick object
$imagick = new \Imagick();
 
// Set the image dimensions
$imagick->newImage(400, 500, 'White');
 
// Set the image format
$imagick->setImageFormat("png");
 
// Draw the image
$imagick->drawImage($draw);
header("Content-Type: image/png");
 
// Display the image
echo $imagick->getImageBlob();
?>

输出:

参考: http: PHP。 PHP