Hướng dẫn dynamically add watermark to image php - thêm hình mờ động vào php hình ảnh

// Cấu hình đường dẫn

& nbsp;

$targetDir="uploads/";="uploads/";

$watermarkImagePath='tutorials-website-logo.png';='tutorials-website-logo.png';

$statusMsg='';='';

if(isset($_POST["submit"])){(isset($_POST["submit"])){

    if(!empty($_FILES["file"]["name"])){if(!empty($_FILES["file"]["name"])){

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; //// File upload path

        $fileName=basename($_FILES["file"]["name"]);$fileName =basename($_FILES["file"]["name"]);

        $targetFilePath=$targetDir.$fileName;$targetFilePath=$targetDir.$fileName;

        $fileType=pathinfo($targetFilePath,PATHINFO_EXTENSION);$fileType =pathinfo($targetFilePath,PATHINFO_EXTENSION);

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;// Allow certain file formats

        $allowTypes=array('jpg','png','jpeg');$allowTypes= array('jpg','png','jpeg');

        if(in_array($fileType,$allowTypes)){if(in_array($fileType,$allowTypes)){

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;// Upload file to the server

            if(move_uploaded_file($_FILES["file"]["tmp_name"],$targetFilePath)){if(move_uploaded_file($_FILES["file"]["tmp_name"],$targetFilePath)){

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;// Load the stamp and the photo to apply the watermark to

                $watermark_png_Img=imagecreatefrompng($watermarkImagePath);$watermark_png_Img=imagecreatefrompng($watermarkImagePath);

                switch($fileType){switch($fileType){

                    case'image/jpg':case'image/jpg':

                        $imagesource=imagecreatefromjpeg($targetFilePath);$imagesource= imagecreatefromjpeg($targetFilePath);

                        break;break;

                    case'image/jpeg':case 'image/jpeg':

                        $imagesource=imagecreatefromjpeg($targetFilePath);$imagesource=imagecreatefromjpeg($targetFilePath);

                        break;break;

                    case'image/png':case'image/png':

                        $imagesource=imagecreatefrompng($targetFilePath);$imagesource= imagecreatefrompng($targetFilePath);

                        break;break;

                    default:default:

                        $imagesource=imagecreatefromjpeg($targetFilePath);$imagesource=imagecreatefromjpeg($targetFilePath);

                }}

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; $ water_width = ImageSx ($ watermark_png_img);// Set the margins for the watermark

                $marge_right=10;$marge_right=10;

                $marge_bottom=10;$marge_bottom =10;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;$water_width=imagesx($watermark_png_Img);

  $water_height=imagesy($watermark_png_Img);$water_height= imagesy($watermark_png_Img);

  $dime_x=imagesx($imagesource)-imagesx($watermark_png_Img)-$marge_right;$dime_x=imagesx($imagesource)-imagesx($watermark_png_Img)-$marge_right;

  $dime_y=imagesy($imagesource)-imagesy($watermark_png_Img)-$marge_bottom;$dime_y =imagesy($imagesource)-imagesy($watermark_png_Img)-$marge_bottom;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;// Copy the watermark image onto our photo using the margin offsets and  

                // the photo width to calculate the positioning of the watermark.

                imagecopy($imagesource,$watermark_png_Img,$dime_x,$dime_y,0,0,$water_width,$water_height);imagecopy($imagesource,$watermark_png_Img, $dime_x,$dime_y,0,0,$water_width,$water_height);

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;// Save image and free memory

                imagepng($imagesource,$targetFilePath);imagepng($imagesource, $targetFilePath);

                imagedestroy($imagesource);imagedestroy($imagesource);

                if(file_exists($targetFilePath)){if(file_exists($targetFilePath)){

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;tải lên thành công.";$statusMsg="The image with watermark has been uploaded successfully.";

                }else{}else{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;lại.";$statusMsg ="Image upload failed, please try again.";

                }  }  

            }else{}else{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;$statusMsg ="Sorry, there was an error uploading your file.";

            }}

        }else{}else{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;$statusMsg ='Sorry, only JPG, JPEG, and PNG files are allowed to upload.';

        }}

    }else{}else{

& nbsp;$statusMsg='Please select a file to upload.';

    }}

}

?>