簡體   English   中英

我無法在PHP中使用Alpha為GIF文件加水印。 是否可以在GIF文件中顯示透明字符串?

[英]I am unable to watermark a GIF file with alpha in php. Is it possible to show transparent string in GIF file?

我在php的Gif圖像中編寫透明水印時遇到問題。 它寫但不顯示透明性。 我有一張圖像,該圖像的表帶有信息,我必須在該文件中加水印,以免文件上顯示的數據受到干擾。 意味着,水印應透明且可見。 請幫我。 代碼是這樣的。

                    $imagesource="pics/2011/temp/15_03.gif";
                    $DestinationFile="pics/2011/15_03.gif";
        $filetype = substr($imagesource,strlen($imagesource)-4,4); 
        $filetype = strtolower($filetype); 
        if($filetype == ".gif")  $image = @imagecreatefromgif($imagesource);  
        if($filetype == ".jpg")  $image = @imagecreatefromjpeg($imagesource);  
        if($filetype == ".png")  $image = @imagecreatefrompng($imagesource);  
        if (!$image) die();         
        $imagewidth = imagesx($image); 
        $imageheight = imagesy($image);         
        $startwidth = (($imagewidth *20)/100); 
        $startheight = $imageheight - ($imageheight*20)/100;
        //imagecopy($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight); 
        $color   = imagecolorallocatealpha($image, 0, 111, 0,75);
        imagettftext($image,24,60,$startwidth,$startheight,$color,'arial.ttf',"(c)www.Example.com");
        imagejpeg($image,$DestinationFile,85);
        imagedestroy($image); 

也許您應該在另一張圖像上創建水印並使用合並功能:

$watermark = @imagecreatetruecolor(120, 20);
$color   = imagecolorallocate($image, 0, 111, 0);
imagettftext($watermark ,24,60,$startwidth,$startheight,$color,'arial.ttf',"(c)www.Example.com");
$image = imagecreatefromjpeg('image.jpg');

imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 70);

暫無
暫無

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

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