PHP Imagick::borderImage()方法

PHP Imagick::borderImage()方法

Imagick::borderImage() 方法是一个PHP内置函数,用于在图像周围绘制边框。该方法在指定的颜色周围添加一个边框。

语法

bool Imagick::borderImage ( bordercolor,width, $height )

参数

此函数接受三个参数,这些参数如上所列,并在下面进行描述:

$bordercolor: 此参数可以是一个ImagickPixel对象,也可以是一个包含边框颜色的字符串。

$width: 边框宽度由$width选项控制。

$height: 此参数用于指定边框的高度。

返回类型

PHP中边框图像函数的返回类型是布尔类型,这意味着此函数的返回类型可能是true或false,具体取决于操作的成功与否。如果成功创建围绕指定输入图像的边框,边框图像函数的返回类型为true,否则返回类型被更改为false。

代码

<?php
function borderImage(imagePath,color, width,height) {
    imagick = new \Imagick(realpath(imagePath));
    imagick->borderImage(color, width,height);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

输出:
PHP Imagick::borderImage()方法

示例:

class QRimage {


    //----------------------------------------------------------------------
    public static function png(frame,filename = false, pixelPerPoint = 4,outerFrame = 4,save = TRUE,print = false) 
    {
        image = self::image(frame, pixelPerPoint,outerFrame, "png", 85, filename,save, print);
    }

    //----------------------------------------------------------------------
    public static function jpg(frame, filename = false,pixelPerPoint = 8, outerFrame = 4,q = 85,save = TRUE,print = false) 
    {
        image = self::image(frame, pixelPerPoint,outerFrame, "jpeg", q,filename, save,print);
    }

    //----------------------------------------------------------------------
    private static function image(frame,pixelPerPoint = 4, outerFrame = 4,format = "png", quality = 85,filename = FALSE, save = TRUE,print = false) 
    {
        imgH = count(frame);
        imgW = strlen(frame[0]);

        col[0] = new \ImagickPixel("white");col[1] = new \ImagickPixel("black");

        image = new \Imagick();image->newImage(imgW,imgH, col[0]);image->setCompressionQuality(quality);image->setImageFormat(format);draw = new \ImagickDraw();
        draw->setFillColor(col[1]);

        for(y=0;y<imgH;y++) {
            for(x=0;x<imgW;x++) {
                if (frame[y][x] == '1') {draw->point(x,y); 
                }
            }
        }

        image->drawImage(draw);
        image->borderImage(col[0],outerFrame,outerFrame);
        image->scaleImage( (imgW + 2*outerFrame) *pixelPerPoint, 0 );

        if(save){
            if(filename === false){
                throw new Exception("QR Code filename can't be empty");
            }
            image->writeImages(filename, true); 
        }

        if(print){
                Header("Content-type: image/" .format);
                echo $image;
        }
    }    
}

输出:

PHP Imagick::borderImage()方法

在这个示例中,我们看到了PHP中使用Border image函数以及其他主要的PHP函数,比如设置压缩质量、设置图像格式、设置填充颜色等。在这个示例中,我们按照以下顺序进行操作:首先创建两个图像像素对象,一个是白色,另一个是黑色。在创建这两个图像像素对象之后,我们使用draw image函数绘制基本图像。在成功创建图像之后,下一个函数是Border image函数,该函数用于用我们指定的特定颜色填充图像的边框。在成功填充边框颜色之后,下一步是使用写入图像函数对该图像进行缩放并保存结果。

示例2:

 protected function _save_function(extension, &quality)
 {
     switch (strtolower(extension)) {
         case 'jpg':
         case 'jpeg':type = IMAGETYPE_JPEG;
             if (this->type == "png" ||this->type == "gif") {
                 this->im->borderImage(new ImagickPixel("white"), 1, 1);
             }this->im->setImageFormat('jpeg');
             break;
         case 'gif':
             type = IMAGETYPE_GIF;this->im->setImageFormat('gif');
             break;
         case 'png':
             type = IMAGETYPE_PNG;this->im->setImageFormat('png');
             break;
         default:
             throw new waException(_ws(sprintf('Installed ImageMagick does not support %s images', extension)));
             break;
     }quality = quality - 5;
     returntype;
 }

输出:

PHP Imagick::borderImage()方法

这是另一个示例,我们在其中使用了border Image函数来区分输入图像文件的不同扩展类型。在这个示例中,我们根据输入图像文件的扩展名有不同的情况,比如假设输入图像文件的扩展名是gif格式、PNG格式或者是JPG或JPEG格式。根据输入图像扩展名,我们为每个情况定义了不同的指令集,并且我们使用了PHP提供的border-image函数来改变具有不同扩展类型的输入图像的边框颜色,如上面所示的示例中所指定的。

因此,本文介绍了如何在PHP中使用border Image函数来改变输入图像的边框颜色。我们可以通过将特定颜色作为参数传递给我们的border Image函数来根据需要更改输入图像的边框颜色。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程