當前位置: 首頁>>代碼示例>>PHP>>正文


PHP ImagickDraw::setFillPatternURL方法代碼示例

本文整理匯總了PHP中ImagickDraw::setFillPatternURL方法的典型用法代碼示例。如果您正苦於以下問題:PHP ImagickDraw::setFillPatternURL方法的具體用法?PHP ImagickDraw::setFillPatternURL怎麽用?PHP ImagickDraw::setFillPatternURL使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在ImagickDraw的用法示例。


在下文中一共展示了ImagickDraw::setFillPatternURL方法的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::setFillPatternURL方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。