色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

PHP擴展之圖像處理3——ImageMagick使用及相關(guān)類和方法

瀏覽:10日期:2022-09-15 17:25:30
Example #1 在 Imagick 中創(chuàng)建縮略圖

<?phpheader(’Content-type: image/jpeg’);$image = new Imagick(’image.jpg’);// If 0 is provided as a width or height parameter,// aspect ratio is maintained$image->thumbnailImage(100, 0);echo $image;?>

Example #2 Make a thumbnail of all JPG files in a directory

<?php$images = new Imagick(glob(’images/*.JPG’));foreach($images as $image) {// Providing 0 forces thumbnailImage to maintain aspect ratio$image->thumbnailImage(1024,0);}$images->writeImages();?>

Example #3 Creating a reflection of an image

<?php/* Read the image */$im = new Imagick('test.png');/* Thumbnail the image */$im->thumbnailImage(200, null);/* Create a border for the image */$im->borderImage(new ImagickPixel('white'), 5, 5);/* Clone the image and flip it */$reflection = $im->clone();$reflection->flipImage();/* Create gradient. It will be overlayed on the reflection */$gradient = new Imagick();/* Gradient needs to be large enough for the image and the borders */$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, 'gradient:transparent-black');/* Composite the gradient on the reflection */$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);/* Add some opacity. Requires ImageMagick 6.2.9 or later */$reflection->setImageOpacity( 0.3 );/* Create an empty canvas */$canvas = new Imagick();/* Canvas needs to be large enough to hold the both images */$width = $im->getImageWidth() + 40;$height = ($im->getImageHeight() * 2) + 30;$canvas->newImage($width, $height, new ImagickPixel('black'));$canvas->setImageFormat('png');/* Composite the original image and the reflection on the canvas */$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);/* Output the image*/header('Content-Type: image/png');echo $canvas;?>

以上例程的輸出類似于:

PHP擴展之圖像處理3——ImageMagick使用及相關(guān)類和方法

Example #4 Filling text with gradient

<?php/* Create a new imagick object */$im = new Imagick();/* Create new image. This will be used as fill pattern */$im->newPseudoImage(50, 50, 'gradient:red-black');/* Create imagickdraw object */$draw = new ImagickDraw();/* Start a new pattern called 'gradient' */$draw->pushPattern(’gradient’, 0, 0, 50, 50);/* Composite the gradient on the pattern */$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);/* Close the pattern */$draw->popPattern();/* Use the pattern called 'gradient' as the fill */$draw->setFillPatternURL(’#gradient’);/* Set font size to 52 */$draw->setFontSize(52);/* Annotate some text */$draw->annotation(20, 50, 'Hello World!');/* Create a new canvas object and a white image */$canvas = new Imagick();$canvas->newImage(350, 70, 'white');/* Draw the ImagickDraw on to the canvas */$canvas->drawImage($draw);/* 1px black border around the image */$canvas->borderImage(’black’, 1, 1);/* Set the format to PNG */$canvas->setImageFormat(’png’);/* Output the image */header('Content-Type: image/png');echo $canvas;?>

以上例程的輸出類似于:

PHP擴展之圖像處理3——ImageMagick使用及相關(guān)類和方法

Example #5 Read in GIF image and resize all frames

<?php/* Create a new imagick object and read in GIF */$im = new Imagick('example.gif');/* Resize all frames */foreach ($im as $frame) {/* 50x50 frames */$frame->thumbnailImage(50, 50);/* Set the virtual canvas to correct size */$frame->setImagePage(50, 50, 0, 0);}/* Notice writeImages instead of writeImage */$im->writeImages('example_small.gif', true);?>

Example #6 Create a PHP logo

<?php/* Set width and height in proportion of genuine PHP logo */$width = 400;$height = 210;/* Create an Imagick object with transparent canvas */$img = new Imagick();$img->newImage($width, $height, new ImagickPixel(’transparent’));/* New ImagickDraw instance for ellipse draw */$draw = new ImagickDraw();/* Set purple fill color for ellipse */$draw->setFillColor(’#777bb4’);/* Set ellipse dimensions */$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);/* Draw ellipse onto the canvas */$img->drawImage($draw);/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */$draw->setFillColor(’black’);/* Set stroke border to white color */$draw->setStrokeColor(’white’);/* Set stroke border thickness */$draw->setStrokeWidth(2);/* Set font kerning (negative value means that letters are closer to each other) */$draw->setTextKerning(-8);/* Set font and font size used in PHP logo */$draw->setFont(’Handel Gothic.ttf’);$draw->setFontSize(150);/* Center text horizontally and vertically */$draw->setGravity(Imagick::GRAVITY_CENTER);/* Add center 'php' with Y offset of -10 to canvas (inside ellipse) */$img->annotateImage($draw, 0, -10, 0, ’php’);$img->setImageFormat(’png’);/* Set appropriate header for PNG and output the image */header(’Content-Type: image/png’);echo $img;?>

以上例程的輸出類似于:

PHP擴展之圖像處理3——ImageMagick使用及相關(guān)類和方法相關(guān)類及方法請參閱:http://www.php.net/manual/zh/book.imagick.php
標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 亚洲综合免费视频 | 亚洲精品无码不卡在线播放he | 免费a级毛片视频 | 欧美性猛片xxxxⅹ免费 | 成年网站视频在线观看 | 欧美性xxxx18| 极品色在线精品视频 | 日韩美女视频一区 | 日韩毛片免费视频一级特黄 | 亚洲欧美日韩中文字幕在线 | 国产欧美日本在线 | 免费成人毛片 | 韩国一级免费视频 | 综合国产 | 国产精亚洲视频 | 国产精品自在线 | 久青草视频在线 | 久久99精品视频 | 国产成在线观看免费视频 | 中文字幕在线视频网站 | 美女被男人cao的爽视频黄 | 成年男女的免费视频网站 | 成人怡红院视频在线观看 | 高清欧美性狂猛bbbbbbxxxx | 国产乱子伦片免费观看中字 | 国产国模福利视频 | 99在线播放 | 日本一区三区二区三区四区 | 久久99国产精品 | 2022久久免费精品国产72精品 | 欧美xxxxxxxxxxxxx| 加勒比一本一道在线 | 一区二区三区欧美视频 | 美国毛片网 | 日韩三级欧美 | 深夜福利网站在线观看 | 老头老太做爰xxx视频 | 亚洲www视频 | 日韩精品网| 久草视频在线免费 | 精品久久久久久免费影院 |