簡體   English   中英

PHP中的圖像之外的水印?

[英]Watermark Outside The image in PHP?

我想上傳一個圖像,然后自動添加水印(文本或圖像),但不是在圖像之上,我想要它在圖像之外,我該如何用 PHP 做到這一點? 同時,如果圖像太小,則調整水印以使其始終適合

請參閱下圖以了解我的意思和所需的結果

原圖: http : //i.stack.imgur.com/SSFEL.png

上傳圖片: http : //i.stack.imgur.com/GOIt4.png

相同的圖像,但最后一張帶有水印。

這在確定文本位置方面不是最自動化的(您可以這樣做),但這是一個開始:

<?php

    function create_cartoon($settings=false)
        {
            $img    =   (isset($settings['img']) && !empty($settings['img']))? $settings['img']:false;
            $txt    =   (isset($settings['text']) && !empty($settings['text']))? $settings['text']:'www.lunarbaboon.com';
            $offset =   (isset($settings['offset']) && !empty($settings['offset']))? $settings['offset']:12;

            if($img == false)
                return;

            header('Content-Type: image/jpeg');

            $mime       =   getimagesize($img);
            $or_w       =   $mime[0];
            $or_h       =   $mime[1];
            $type       =   $mime['mime'];

            switch ($type) {
                case ('image/png') :
                    $im =   imagecreatefrompng($img);
                    break;
                case ('image/gif') :
                    $im =   imagecreatefromgif($img);
                    break;
                default :
                    $im =   imagecreatefromjpeg($img);
            }

            $layer1     =   imagecreatetruecolor($or_w,($or_h+30));
            $bkg1       =   imagecolorallocate($layer1,255,255,255);
            $layer1s    =   getimagesize($layer1);

            imagecopy($layer1,$im,0,0,$layer1s[0],$layer1s[1],$or_w,$or_h);
            imagefilledrectangle($layer1,0,$or_h,$or_w,$or_h+30,$bkg1);
            $text_color =   imagecolorallocate($layer1, 100, 100, 100);
            imagestring($layer1, 8, $offset, $or_h+5, $txt, $text_color);
            imagejpeg($layer1);
            imagedestroy($img);
            imagedestroy($layer1);
        }

     // To use
     create_cartoon(array('img'=>'http://i.stack.imgur.com/SSFEL.png','offset'=>114));      
?>

暫無
暫無

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

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