1. 程式人生 > >製作文字水印圖片、圖片水印

製作文字水印圖片、圖片水印

1.製作文字水印,示例如下:
這裡寫圖片描述

如果你在顯示圖片出現如下情況:
這裡寫圖片描述

可以確定你的編碼格式有問題,建議你除錯程式,將程式編碼格式統一設定。

上述實現程式碼:
fontMark.php檔案:

<?php
    /*
     * 開啟圖片
     */
    //1.配置圖片路徑
    $src="aodi.jpg";
    //2.獲取圖片資訊
    $info=getimagesize($src);
    //3.通過影象的編號獲取影象的型別
    $type=image_type_to_extension($info[2],false);
    //4.在記憶體中建立一個和我們影象型別一樣的影象
$fun="imagecreatefrom{$type}"; //5.把圖片複製到我們的記憶體中 $image=$fun($src); /* * 操作圖片 */ //1.設定字型的路徑 $font='msyh.ttf'; //2.填寫我們的水印內容 $content="你好,奧迪車主!"; // $content=iconv("GB2312","UTF-8",$content);//轉換格式--很重要不然亂碼 //3.設定字型的顏色RGB和透明度 $color=imagecolorallocate($image
, 255, 255, 255); //4.寫入文字 imagettftext($image, 20,0,20,30,$color,$font,$content); /* * 輸出圖片 */ //瀏覽器輸出 ob_clean(); header("Content-Type:".$info['mime']); $func="image{$type}"; $func($image); //儲存圖片 //$func($image,'newimage.'.$type); /* * 銷燬圖片 */
imagedestroy($image); ?>

2.製作圖片水印,也就是在圖片上打上自己的logo。
這裡寫圖片描述

實現程式碼如下:
imageMark.php檔案:

<?php
    /*
     * 開啟圖片
     */
    //1.配置圖片路徑
    $src="aodi.jpg";
    //2.獲取圖片資訊
    $info=getimagesize($src);
    //3.通過影象的編號獲取影象的型別
    $type=image_type_to_extension($info[2],false);
    //4.在記憶體中建立一個和我們影象型別一樣的影象
    $fun="imagecreatefrom{$type}";
    //5.把圖片複製到我們的記憶體中
    $image=$fun($src);

    /*
     * 操作圖片
     */
    //1.設定圖片的路徑
    $image_Mark="imooc.png";
    //2.獲取水印圖片的基本資訊
    $info2=getimagesize($image_Mark);
    //3.通過水印的影象編號來獲取水印的圖片型別
    $type2=image_type_to_extension($info2[2],false);
    //4.在記憶體中建立一個和我們水印圖片一致的圖片型別
    $func2="imagecreatefrom{$type2}";
    //5.吧水印圖片複製到記憶體中
    $water=$func2($image_Mark);
    //6.合併圖片
    imagecopymerge($image, $water, 20, 30, 0, 0, $info2[0], $info2[1], 30);//imagecopymergegray — 複製和合並與灰度影象的一部分
    //7.銷燬水印圖片
    imagedestroy($water);

    /*
     * 輸出圖片
     */
     //瀏覽器輸出
     ob_clean();
     header("Content-Type:".$info['mime']);
     $func="image{$type}";
     $func($image);
     //儲存圖片
     $func($image,'imageMark.'.$type);
    /*
     * 銷燬圖片
     */
     imagedestroy($image);

?> 

以上學習的PHP製作圖片的方法是在 慕課網 學習的,視屏課程講的很詳細,受用了!