PHP實(shí)現(xiàn)圖片合成新圖片

//案例一:將活動(dòng)背景圖片和動(dòng)態(tài)二維碼圖片合成一張圖片

//圖片一$path_1= 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png';//圖片二$path_2= 'http://tb1.bdstatic.com/tb/static-client/img/webpage/wap_code.png';//創(chuàng)建圖片對(duì)象

//imagecreatefrompng($filename)--由文件或 URL 創(chuàng)建一個(gè)新圖象$image_1= imagecreatefrompng($path_1);$image_2= imagecreatefrompng($path_2);//合成圖片

//imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )---拷貝并合并圖像的一部分

//將 src_im 圖像中坐標(biāo)從 src_x,src_y 開始,寬度為 src_w,高度為 src_h 的一部分拷貝到 dst_im 圖像中坐標(biāo)為 dst_x 和 dst_y 的位置上。兩圖像將根據(jù) pct 來決定合并程度,其值范圍從 0 到 100。當(dāng) pct = 0 時(shí),實(shí)際上什么也沒做,當(dāng)為 100 時(shí)對(duì)于調(diào)色板圖像本函數(shù)和 imagecopy() 完全一樣,它對(duì)真彩色圖像實(shí)現(xiàn)了 alpha 透明。imagecopymerge($image_1,$image_2, 0, 0, 0, 0, imagesx($image_2), imagesy($image_2), 100);// 輸出合成圖片

//imagepng($image[,$filename]) — 以 PNG 格式將圖像輸出到瀏覽器或文件$merge= 'merge.png';var_dump(imagepng($image_3,'./merge.png'));//案例二:將活動(dòng)背景圖片設(shè)置透明,然后和動(dòng)態(tài)二維碼圖片合成一張圖片

// 圖片一 $path_1= 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png';// 圖片二$path_2= 'http://tb1.bdstatic.com/tb/static-client/img/webpage/wap_code.png';//創(chuàng)建圖片對(duì)象$image_1= imagecreatefrompng($path_1);$image_2= imagecreatefrompng($path_2);//創(chuàng)建真彩畫布

//imagecreatetruecolor(int $width, int $height)--新建一個(gè)真彩色圖像$image_3= imageCreatetruecolor(imagesx($image_1),imagesy($image_1));//為真彩畫布創(chuàng)建白色背景

//imagecolorallocate(resource $image, int $red, int $green, int $blue)$color= imagecolorallocate($image_3, 255, 255, 255);//imagefill(resource $image ,int $x ,int $y ,int $color)

//在 image 圖像的坐標(biāo) x,y(圖像左上角為 0, 0)處用 color 顏色執(zhí)行區(qū)域填充(即與 x, y 點(diǎn)顏色相同且相鄰的點(diǎn)都會(huì)被填充)imagefill($image_3, 0, 0,$color);//設(shè)置透明

//imagecolortransparent(resource $image [,int $color])

//將image圖像中的透明色設(shè)定為 colorimageColorTransparent($image_3,$color);//復(fù)制圖片一到真彩畫布中(重新取樣-獲取透明圖片)

//imagecopyresampled(resource $dst_image ,resource $src_image ,int $dst_x ,int $dst_y ,int $src_x , int $src_y ,int $dst_w ,int $dst_h ,int $src_w ,int $src_h)

// dst_image:目標(biāo)圖象連接資源

// src_image:源圖象連接資源

// dst_x:目標(biāo) X 坐標(biāo)點(diǎn)

// dst_y:目標(biāo) Y 坐標(biāo)點(diǎn)

// src_x:源的 X 坐標(biāo)點(diǎn)

// src_y:源的 Y 坐標(biāo)點(diǎn)

// dst_w:目標(biāo)寬度

// dst_h:目標(biāo)高度

// src_w:源圖象的寬度

// src_h:源圖象的高度imagecopyresampled($image_3,$image_1, 0, 0, 0, 0, imagesx($image_1), imagesy($image_1), imagesx($image_1), imagesy($image_1));//與圖片二合成

//imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )---拷貝并合并圖像的一部分

// //將 src_im 圖像中坐標(biāo)從 src_x,src_y 開始,寬度為 src_w,高度為 src_h 的一部分拷貝到 dst_im 圖像中坐標(biāo)為 dst_x 和 dst_y 的位置上。兩圖像將根據(jù) pct 來決定合并程度,其值范圍從 0 到 100。當(dāng) pct = 0 時(shí),實(shí)際上什么也沒做,當(dāng)為 100 時(shí)對(duì)于調(diào)色板圖像本函數(shù)和 imagecopy() 完全一樣,它對(duì)真彩色圖像實(shí)現(xiàn)了 alpha 透明。imagecopymerge($image_3,$image_2, 0, 0, 0, 0, imagesx($image_2), imagesy($image_2), 100);? // 輸出合成圖片var_dump(imagepng($image_3,'./merge1.png'));

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • PHP中GD庫(kù)的使用 GD簡(jiǎn)介 PHP 不僅限于只產(chǎn)生 HTML 的輸出,還可以創(chuàng)建及操作多種不同格式的圖像文件。...
    dptms閱讀 1,030評(píng)論 0 2
  • 一、圖像處理概述 1、開啟GD2圖像擴(kuò)展庫(kù) PHP不僅限于只產(chǎn)生HTML的輸出,還可以創(chuàng)建與操作多種不同格式的圖像...
    寵辱不驚丶?xì)q月靜好閱讀 913評(píng)論 0 1
  • 算法原理 最臨近插值算法原理圖示: 選取對(duì)應(yīng)原圖位置距離最近的點(diǎn),當(dāng)然,距離相等的點(diǎn)的選取,需要自定一些規(guī)則。模塊...
    Don_閱讀 15,790評(píng)論 0 9
  • 背景 驗(yàn)證碼就是把一串隨機(jī)產(chǎn)品的數(shù)字動(dòng)態(tài)生成一幅圖片,再加上干擾元素。此時(shí)用戶可以通過肉眼能識(shí)別里面的數(shù)字或者字符...
    dy2903閱讀 2,138評(píng)論 0 7
  • 原本想再開一個(gè)橘普喝,在茶櫥里卻發(fā)現(xiàn)一個(gè)沱茶,薑黃色的包裝紙,紅色的文字和圖案,拳頭大小,它來自哪裡?不記得了,不...
    林素兮閱讀 275評(píng)論 13 11