PHP | Función ImagickDraw setStrokeMiterLimit()

La función ImagickDraw::setStrokeMiterLimit() es una función incorporada en PHP que se usa para especificar el límite de inglete del trazo. Cuando dos segmentos de línea se encuentran en un ángulo agudo y se han especificado uniones de inglete para ‘lineJoin’, es posible que el inglete se extienda mucho más allá del grosor de la línea que traza el camino. El miterLimit’ impone un límite en la relación entre la longitud del inglete y el ‘lineWidth’.

Sintaxis:

bool ImagickDraw::setStrokeMiterLimit( $miterlimit )

Parámetros: esta función acepta un solo parámetro $miterlimit que se utiliza para mantener el valor del límite de inglete como tipo entero.

Valor devuelto: esta función no devuelve ningún valor.

Los siguientes programas ilustran la función ImagickDraw::setStrokeMiterLimit() en PHP:

Programa 1:

<?php
  
// require_once('path/vendor/autoload.php');
  
// Create an ImagickDraw object
$draw = new \ImagickDraw();
  
// Set the Stroke Opacity
$draw->setStrokeOpacity(1);
  
// Set the Stroke Color
$draw->setStrokeColor('Black');
  
// Set the Stroke Opacity
$draw->setStrokeOpacity(0.6);
  
// Set the Stroke Width  
$draw->setStrokeWidth(4);
  
// Set the image filled color 
$draw->setFillColor('lightgreen');
      
// Set the Stroke Miter Limit 
$draw->setStrokeMiterLimit(40 * 12);
$points = [
        ['x' => 50 * 6, 'y' => 10 * 5],
        ['x' => 20 * 7, 'y' => 30 * 5], 
        ['x' => 60 * 8, 'y' => 50 * 5], 
        ['x' => 70 * 3, 'y' => 15 * 5],
    ];
  
// Draw the polygon 
$draw->polygon($points);
  
// Create new Imagick object 
$image = new \Imagick();
  
// Set the dimensions of the image
$image->newImage(500, 300, '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();
?>

Producción:
setStrokeMiterLimit

Programa 2:

<?php
   
// require_once('path/vendor/autoload.php');
   
// Create a ImagickDraw object to draw into.
$draw = new ImagickDraw();
   
// Set the Stroke Width
$draw->setStrokeWidth(5);
   
// Set the Stroke Miter Limit
$draw->setStrokeMiterLimit(50 * 15);
   
// Set the Stroke Color
$draw->setStrokeColor('black');
   
// Set the image filled color
$draw->setFillColor('red');
$points = [['x' => 40 * 5, 'y' => 10 * 5],
          ['x' => 70 * 5, 'y' => 50 * 5], 
          ['x' => 60 * 5, 'y' => 15 * 5], ];
   
// Draw the polygon 
$draw->polygon($points);
   
// Set the image filled color
$draw->setFillColor('green');
   
// Set the translation points
$draw->translate(10, 30);
$points = [['x' => 40 * 5, 'y' => 10 * 5],
           ['x' => 70 * 5, 'y' => 50 * 5], 
           ['x' => 60 * 5, 'y' => 15 * 5], ];
   
// Draw the polygon
$draw->polygon($points);
   
// Set the image filled color
$draw->setFillColor('blue');
   
// Set the translation points
$draw->translate(10, 30);
$points = [['x' => 40 * 5, 'y' => 10 * 5], 
           ['x' => 70 * 5, 'y' => 50 * 5], 
           ['x' => 60 * 5, 'y' => 15 * 5], ];
   
// Draw the polygon
$draw->polygon($points);
   
// Set the image filled color
$draw->setFillColor('yellow');
   
// Set the translation points
$draw->translate(10, 30);
$points = [['x' => 40 * 5, 'y' => 10 * 5], 
           ['x' => 70 * 5, 'y' => 50 * 5], 
           ['x' => 60 * 5, 'y' => 15 * 5], ];
   
// Draw the polygon
$draw->polygon($points);
   
// Create new Imagick object 
$image = new Imagick();
   
// Set the dimensions of the image
$image->newImage(400, 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();
?>

Producción:
setStrokeMiterLimit

Referencia: http://php.net/manual/en/imagickdraw.setstrokemiterlimit.php

Publicación traducida automáticamente

Artículo escrito por sarthak_ishu11 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *