簡體   English   中英

將圖像與背景圖像合並在 php 中給出黑色背景

[英]Merge an image with background image gives black background in php

我將淺藍色圖像設置為 $dest。 我將徽標設置為 logo1

我想將徽標插入淺藍色圖像中。 所以我嘗試了以下方法:

<?php 
            $dest = imagecreatefrompng('template.png');
            $logo1 = 'tst.png';

            $logo1created = imagecreatefrompng($logo1);

            imagealphablending($logo1created,true);
            imagesavealpha($logo1created, true);
            
            $logo1width = imagesx($logo1created);
            $logo1height = imagesy($logo1created);

            $bg_color = imagecolorat($logo1created,1,1);  //get color of top-left pixel
            imagecolortransparent($logo1created, $bg_color);

            imagecopymerge($dest, $logo1created, 70, 132, 0, 0, $logo1width, $logo1height, 100);
            header('Content-Type: image/png');
            imagepng($dest);
            imagedestroy($dest);
            imagedestroy($logo1created);
    ?>

我得到以下 output。

在此處輸入圖像描述

徽標不透明(它有白色背景),我已將圖像大小調整為 124*30

在此處輸入圖像描述

當我這樣做時,我想為徽標設置透明背景,根據上面的屏幕截圖有黑色背景。 我不確定為什么? 此外,圖像模糊。 有人可以幫我解決這個問題嗎?

謝謝!

請嘗試以下操作:(您可以通過將值 60,70 更改為其他值來調整 x 和 y)

<?php 


function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){ 
        // creating a cut resource 
        $cut = imagecreatetruecolor($src_w, $src_h); 

        // copying relevant section from background to the cut resource 
        imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h); 

        // copying relevant section from watermark to the cut resource 
        imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h); 

        // insert cut resource to destination image 
        imagecopymerge($dst_im, $cut, $dst_x, $dst_y, 0, 0, $src_w, $src_h, $pct); 
    } 



$base = imagecreatefrompng('template.png');
$logo1 = 'tst.png';
$logo = imagecreatefrompng($logo1);
imagecopymerge_alpha($base, $logo, 60, 70, 0, 0, 124, 30, 100);
header('Content-Type: image/png');
imagepng($base);


    ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM