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


PHP ImagickDraw::pushPattern方法代码示例

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


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

示例1: blackBox

function blackBox(&$canvas, $o) {

	$rectangle = new Imagick();
	$rectangle->newPseudoImage($o['w'], $o['h'], "xc:none");
	$draw1 = new ImagickDraw();
	$draw1->pushPattern('gradient', 0, 0, 5, 5);
	$tile = new Imagick();
	$tile->readImage(realpath("assets/diag_tile.png"));
	$draw1->composite(Imagick::COMPOSITE_OVER, 0, 0, 5, 5, $tile);
	$draw1->popPattern();
	$draw1->setFillPatternURL('#gradient');
	$draw1->rectangle(0, 0, $o['w'], $o['h']);
	$rectangle->drawImage($draw1);

	$gradient = new Imagick();
	$gradient->newPseudoImage($o['w'], $o['h'], "gradient:#DDD-#666");

	$rectangle->compositeImage($gradient, Imagick::COMPOSITE_COPYOPACITY, 0, 0);

	$black = new Imagick();
	$black->newPseudoImage($o['w'], $o['h'], "xc:black");

	$layered = new Imagick();
	$layered->newPseudoImage($o['w'] + 20, $o['h'] + 20, "xc:none");
	$layered->compositeImage($black, Imagick::COMPOSITE_OVER, 5, 0);
	$layered->compositeImage($black, Imagick::COMPOSITE_OVER, 5, 5);
	$layered->compositeImage($gradient, Imagick::COMPOSITE_COPYOPACITY, 5, 5);
	$layered->blurImage(4, 5, imagick::CHANNEL_ALPHA);
	$layered->compositeImage($black, Imagick::COMPOSITE_DSTOUT, 0, 0);

	$canvas->compositeImage($layered, Imagick::COMPOSITE_OVER, $o['x'], $o['y']);
	$canvas->compositeImage($rectangle, Imagick::COMPOSITE_OVER, $o['x'], $o['y']);
}
开发者ID:rpitv,项目名称:rpits,代码行数:33,代码来源:imagick_include.php

示例2:

 function __construct($chemin)
 {
     if (filter_var($chemin, FILTER_VALIDATE_URL)) {
         //URL
         $headers = @get_headers($chemin);
         if (strpos($headers[0], '404') != false) {
             //NOT FOUND
             //throw new \Exception("Not Found Image");
             $this->image = new \Imagick();
             $this->image->newImage(600, 600, new \ImagickPixel('white'));
             /* Création d'un nouvel objet imagick */
             $im = new \Imagick();
             /* Création d'une nouvelle image. Elle sera utilisée comme masque de remplissage */
             $im->newPseudoImage(50, 100, "gradient:gray-black");
             /* Création d'un nouvel objet imagickdraw */
             $draw = new \ImagickDraw();
             /* On commence un nouveau masque nommé "gradient" */
             $draw->pushPattern('gradient', 0, 0, 50, 110);
             /* Ajout du dégradé sur le masque */
             $draw->composite(\Imagick::COMPOSITE_OVER, 0, 0, 50, 110, $im);
             /* Fermeture du masque */
             $draw->popPattern();
             /* Utilisation du masque nommé "gradient" comme remplissage */
             $draw->setFillPatternURL('#gradient');
             /* Définition de la taille du texte à 52 */
             $draw->setFontSize(92);
             $draw->setFont(ROOT . DS . 'font/comic.ttf');
             /* Ajout d'un texte */
             $draw->annotation(20, 100, "Not Found !");
             $this->image->drawImage($draw);
         }
     } else {
         if (!file_exists($chemin)) {
             //throw new \Exception("Not Found Image");
             $this->image = new \Imagick();
             $this->image->newImage(600, 600, new \ImagickPixel('white'));
             /* Création d'un nouvel objet imagick */
             $im = new \Imagick();
             /* Création d'une nouvelle image. Elle sera utilisée comme masque de remplissage */
             $im->newPseudoImage(50, 100, "gradient:gray-black");
             /* Création d'un nouvel objet imagickdraw */
             $draw = new \ImagickDraw();
             /* On commence un nouveau masque nommé "gradient" */
             $draw->pushPattern('gradient', 0, 0, 50, 110);
             /* Ajout du dégradé sur le masque */
             $draw->composite(\Imagick::COMPOSITE_OVER, 0, 0, 50, 110, $im);
             /* Fermeture du masque */
             $draw->popPattern();
             /* Utilisation du masque nommé "gradient" comme remplissage */
             $draw->setFillPatternURL('#gradient');
             /* Définition de la taille du texte à 52 */
             $draw->setFontSize(92);
             $draw->setFont(ROOT . DS . 'font/comic.ttf');
             /* Ajout d'un texte */
             $draw->annotation(20, 100, "Not Found !");
             $this->image->drawImage($draw);
         }
     }
     $this->image = new \Imagick($chemin);
     $imageprops = $this->image->getImageGeometry();
     $this->width = $imageprops['width'];
     $this->height = $imageprops['height'];
     $this->image->setImageFormat("jpeg");
 }
开发者ID:CamTosh,项目名称:Mediastorrent,代码行数:64,代码来源:MyImage.php

示例3: pushPattern

function pushPattern($strokeColor, $fillColor, $backgroundColor)
{
    $draw = new \ImagickDraw();
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeWidth(1);
    $draw->pushPattern("MyFirstPattern", 0, 0, 50, 50);
    for ($x = 0; $x < 50; $x += 10) {
        for ($y = 0; $y < 50; $y += 5) {
            $positionX = $x + $y / 5 % 5;
            $draw->rectangle($positionX, $y, $positionX + 5, $y + 5);
        }
    }
    $draw->popPattern();
    $draw->setFillOpacity(0);
    $draw->rectangle(100, 100, 400, 400);
    $draw->setFillOpacity(1);
    $draw->setFillOpacity(1);
    $draw->push();
    $draw->setFillPatternURL('#MyFirstPattern');
    $draw->setFillColor('yellow');
    $draw->rectangle(100, 100, 400, 400);
    $draw->pop();
    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw);
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}
开发者ID:sdmmember,项目名称:Imagick-demos,代码行数:34,代码来源:functions.php


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