เมนูหลัก

PHP ทำ Watermark รูป

เริ่มโดย www.khonkaenfm.com, 17 ตุลาคม 2009, 23:30:54

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

www.khonkaenfm.com

<?php
    // this script creates a watermarked image from an image file - can be a .jpg .gif or .png file
    // where watermark.gif is a mostly transparent gif image with the watermark - goes in the same directory as this script
    // where this script is named watermark.php
    // call this script with an image tag
    // <img src="watermark.php?path=imagepath"> where path is a relative path such as subdirectory/image.jpg
    $imagesource =  $_GET['path'];
    $watermarkPath = $_GET['watermark'];
    $filetype = substr($imagesource,strlen($imagesource)-4,4);
    $filetype = strtolower($filetype);
    $watermarkType = substr($watermarkPath,strlen($watermarkPath)-4,4);
    $watermarkType = strtolower($watermarkType);

    if($filetype == ".gif") 
        $image = @imagecreatefromgif($imagesource);
    else 
        if($filetype == ".jpg" || $filetype == "jpeg") 
            $image = @imagecreatefromjpeg($imagesource);
        else
            if($filetype == ".png") 
                $image = @imagecreatefrompng($imagesource);
            else
                die(); 
   
    if(!$image)
        die();
   
    if($watermarkType == ".gif")
        $watermark = @imagecreatefromgif($watermarkPath);
    else
        if($watermarkType == ".png")
            $watermark = @imagecreatefrompng($watermarkPath);
        else
            die();
       
    if(!$watermark)
        die();
       
    $imagewidth = imagesx($image);
    $imageheight = imagesy($image); 
    $watermarkwidth =  imagesx($watermark);
    $watermarkheight =  imagesy($watermark);
    $startwidth = (($imagewidth - $watermarkwidth)/2);
    $startheight = (($imageheight - $watermarkheight)/2);
    imagecopy($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight);
    imagejpeg($image);
    imagedestroy($image);
    imagedestroy($watermark);
?>



****************



<?
header("Content-type: image/jpeg");
?>
<img src="watermark.php?path=test.jpg&watermark=watermark.gif" />



***********************


ข้อแนะนำ
* อย่าลืมว่า ไฟล์ watermark.php กับ watermark.gif ต้องอยู่ในโฟลเดอร์เดียวกัน และไฟล์ watermark.gif เป็นไฟล์โปร่ง (Transparent)
* หากต้องการเปลี่ยนตำแหน่งของภาพที่แทรก ให้แก้ไข 2 บรรทัดนี้
$startwidth = (($imagewidth - $watermarkwidth)/2);
$startheight = (($imageheight - $watermarkheight)/2);
เช่น ถ้าต้องการให้อยู่ด้านล่างซ้าย ก็แก้ไขเป็น
$startwidth = (($imagewidth - $watermarkwidth) );
$startheight = (($imageheight - $watermarkheight) );

อย่างไร ลองเล่นดูนะ
  :wanwan016:
http://www.khonkaenfm.com
เอฟเอ็มขอนแก่น ขอนแก่นเอฟเอ็ม