php多張圖片合并方法分享

來源:互聯網
上載者:User
本文主要和大家分享php多張圖片合并方法,PHP imagecopymerge 函數可以支援兩個映像疊加時,設定疊加的透明度,imagecopy 函數則不支援疊加透明,實際上,PHP內部源碼裡,imagecopymerge在透明度參數為100時,直接調用imagecopy函數。
然而,imagecopy函數拷貝時可以保留png映像的原透明資訊,而imagecopymerge卻不支援圖片的本身的透明拷貝,
比較羅嗦,以一個實際的例子來示範以下:
在映像上打上LOGO浮水印。
一般來說,logo由表徵圖和網址組成,比如是一個透明的png映像,logo.png ,
現在如果要把這個logo打到圖片上,
使用imagecopymerge函數,可以實現打上透明度為30%的淡淡的浮水印表徵圖,但logo本身的png就會變得像IE6不支援png透明那樣,背景不透明了,如果使用imagecopy函數,可以保留logo本身的透明資訊,但無法實現30%的淡淡浮水印疊加,
php官方有人實現的辦法:使用 imagecopymerge_alpha 函數可以直接實現這個兩個函數的功能,保留png自身透明的同時,實現自訂透明度疊加,不過該函數的內部使用 $opacity = 100 - $opacity; 來實現透明度,好像剛好反了

$dst = imagecreatefromstring(file_get_contents($dst_path));$src = imagecreatefromstring(file_get_contents($src_path));imagecopy($dst, $src, 100, 100, 0, 0, 100, 100);//完成合併
  function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){        $opacity=$pct;        // getting the watermark width        $w = imagesx($src_im);        // getting the watermark height        $h = imagesy($src_im);                // creating a cut resource        $cut = imagecreatetruecolor($src_w, $src_h);        // copying that section of the background to the cut        imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);        // inverting the opacity        $opacity = 100 - $opacity;                // placing the watermark now        imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);        imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.