日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php使用imagemagick,PHP的ImageMagick使用;

發(fā)布時間:2024/10/12 php 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php使用imagemagick,PHP的ImageMagick使用; 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

(1).創(chuàng)建一個新圖片,寬500px,高300px,黑色,格式為png的圖片$img =new Imagick();

$img->newImage(500,300,'black','png')

(2).圖片的疊加;

假設(shè)我們選取范例1中的$img作為背景,這個時候我們把第二張圖片疊加到圖片上;選一張馬刺gdp組合;

知道圖片二的路徑假定為$imageSrc="/home/XXXX/spurs.png";

第一步我們實例化這個圖片

$imgtwo = new Imagick($imageSrc);

因為是要疊加,我們就需要把兩張圖的大小設(shè)置一樣;首先我們要活的第一張圖片的大小(ps:這里我們也可以指定大小).$height=$img->getImageHeight();//獲取圖片1高度

$width=$img->getImageWidth();//獲取圖片1寬度

第二步,對圖片進(jìn)行大小調(diào)整$imgtwo->resizeImage($width,$height,Imagick::FILTER_LANCZOS,1);

resizeImage參數(shù)說明bool Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] )

參數(shù)解釋:

columns 圖片的寬度

rows 圖片高度

filter 過濾器,用于過濾圖片,有高斯filte根據(jù)情況而定

blur blur=1 為虛化, blur =-1 為銳化

第三部,疊加圖片

使用compositeImage();bool Imagick::compositeImage ( Imagick $composite_object , int $composite , int $x , int $y [, int $channel = Imagick::CHANNEL_ALL ] )

參數(shù)說明:

composite_object :用于合并的圖片的Imagick對象

composite:合并操作,定義操作常量。 具體請查看 合并操作常量列表

x:相對圖像頂點左上位置(0,0)的橫坐標(biāo)

y:相對圖像頂點左上位置(0,0)的縱坐標(biāo)

channel:通過傳入一個通道常量,來開啟通道模式。為了支持多個通道,可以通過二進(jìn)制運算的操作來合并多個通道常量。

ps:這里是把圖片二覆蓋到圖片一上$img->compositeImage($imgtwo,$image->getImageCompose(),0,0)

生成圖片如下:

最后

1.我們可以直接在網(wǎng)頁上查看圖片,但是要加一個header信息;header("Content-Type: image/png");

echo $img;

2.可以把圖片在指定目錄中生成;在當(dāng)年目錄下生成為img.png

$file="./img.png";

$img->writeImage($file);

這樣就會在當(dāng)前目錄下生成圖片img.png;

(3).在圖片上配置文字

需要使用 ImagickDraw類;

第一步實例化ImagickDraw類:$draw=new ImagickDraw();

設(shè)置字體顏色$draw->setFillColor(new ImagickPixel('white'));

設(shè)置字體大小$draw->setFontSize('25');

設(shè)置字體$draw->setFont("../fonts/Arial.ttf");

設(shè)置字體方向$draw->setTextAlignment(Imagick::ALIGN_RIGHT);

ps:

Imagick::ALIGN_RIGHT 朝右邊

Imagick::ALIGN_LEFT 左邊

Imagick::ALIGN_CENTER 中間

設(shè)置字體編碼格式$draw->setTextEncoding("utf-8")

畫出文字$draw->annotation(200,200,'GDP');

在底板上畫出;$img->drawImage($draw);

NBA歷史上最偉大的組合GDP

(4).裁剪圖片

這個夏天鄧肯退役了,GDP組合解題。我們只能把鄧肯去掉$img->cropImage(300, 300, 0, 20);

第一個參數(shù)是圖片的寬度

第二個是高度

圖片裁剪的x軸位置

圖片裁剪Y軸位置

然后我們再把生成一個圓角$img->roundCorners(60, 60);

就生成了少了鄧肯現(xiàn)在馬刺,外加一個倫納德

ps:這里我重新寫了文字,變成了GP;

本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!

總結(jié)

以上是生活随笔為你收集整理的php使用imagemagick,PHP的ImageMagick使用;的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。