主圖和背景圖合成一張圖片

public function merge($dataArr) {
    $retArr["ret"] = array("retCod" => "0", "retMsg" => "merge success!");
    $path_1 = $dataArr['mainImg'];//要合成的主圖地址,eg:http:www.xx.com/aa.png
    $path_2=$_SERVER['DOCUMENT_ROOT'].'/shareImg/cuxiao5.png';//背景圖

    //創(chuàng)建圖片對象
    $image_1 = $this->createImg($path_1);
    $image_2 = $this->createImg($path_2);

    file_put_contents("/server/qqq.txt", "aaa=".$image_2."\r\n",FILE_APPEND);
    file_put_contents('/server/'.date('Y-m-d').'.txt',date( 'Y-m-d H:i:s' ).' '.__FILE__.' '. __METHOD__.' '.__LINE__."eee=".$image_2, FILE_APPEND);
    file_put_contents('/server/'.date('Y-m-d').'.txt',date( 'Y-m-d H:i:s' ).' '.__FILE__.' '. __METHOD__.' '.__LINE__.' '.$path_1.'\r\nimage:'.$image_1.'\r\n', FILE_APPEND);

    //裁剪圖片1
    $arrPic1 = getimagesize($path_1);
    $imgWidth = 400;
    $imgHeight = 320;

    $sss =sprintf("%d %d %d %d", $imgWidth, $imgHeight, $arrPic1[0], $arrPic1[1]);
    file_put_contents('/server/'.date('Y-m-d').'.txt',date( 'Y-m-d H:i:s' ).' '.__FILE__.' '. __METHOD__.' '.__LINE__.$sss, FILE_APPEND);

    //創(chuàng)建一個彩色的底圖
    $image_dst = imagecreatetruecolor($imgWidth, $imgHeight);
    $aa = imagecopyresampled($image_dst, $image_1, 0, 0, 0, 0,$imgWidth,$imgHeight,$arrPic1[0], $arrPic1[1]*0.8);
    $imgPath = $_SERVER['DOCUMENT_ROOT'];

    //創(chuàng)建真彩畫布
    $image_3 = imageCreatetruecolor(400, 400);

    //為真彩畫布創(chuàng)建白色背景
    $color = imagecolorallocate($image_3, 255, 255, 255);
    imagefill($image_3, 0, 0, $color);

    //設(shè)置透明
    // src_h:源圖象的高度
    imagecopyresampled($image_3, $image_dst, 0, 0, 0, 0, 400, 400, 400, 400);
    imagecopy($image_3, $image_2, 0, 0, 0, 0, 400, 400);

    // 輸出合成圖片
    $merge = $imgPath . '/shareImg/'.$dataArr['skuId'].'.png';
    imagepng($image_3, $merge);

    imagedestroy($image_1);
    imagedestroy($image_2);
    imagedestroy($image_3);
}
function createImg($path) {
    $image = pathinfo($path);
    switch (strtolower($image['extension'])) {
        case 'jpg':
            return imagecreatefromjpeg($path);
        case 'jpeg':
            return imagecreatefromjpeg($path);
        case 'png':
            return imagecreatefrompng($path);
        case 'gif':
            return imagecreatefromgif($path);
    }
}

背景圖cuxiao5.png


cuxiao5.png

$dataArr['mainImg']傳過來的要合成的主圖地址

$dataArr['mainImg'].png

最終合成效果如下


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自VR設(shè)計云課堂[http://www.itdecent.cn/u/c7ffdc4b379e]Unity S...
    水月凡閱讀 1,166評論 0 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,626評論 1 32
  • 7月份的成績: 工作:進(jìn)步的,操作視頻6個,季度考核1次,操作考核1次,強(qiáng)化版的新人培訓(xùn)1次,考核1次。護(hù)理操作流...
    周春Baby閱讀 204評論 0 1
  • 上午,太陽的臉在霧霾中灰頭土臉的,像剛剛睡醒。天氣冷呵呵的,街上的行人也看起來無精打采的。下午,天陰了下來,灰...
    老馬識新途閱讀 225評論 0 1
  • 我有兩個寶貝,有時候就在想,到底是怎樣的愛,才配的上這兩個天使寶貝? 哥哥大一些,他有自己的想法,也會有自己的行動...
    雪莉百合親子閱讀踐行者閱讀 436評論 1 0

友情鏈接更多精彩內(nèi)容