PHP實現圖片裁剪、添加水印效果代碼
更新時間:2014年10月01日 15:22:45 投稿:junjie
這篇文章主要介紹了PHP實現圖片裁剪、添加水印效果代碼,本文給出代碼示例,代碼中包含一些說明注釋,需要的朋友可以參考下
3、PHP對圖像的裁剪
<div>
<h4>裁剪之前</h4>
<img src="1.png" style="border:1px solid red;">
</div>
<?php
header("content-type","text/html;charset=utf-8");
/*
*圖片裁剪
*@param string $filename 圖片的url
*@param int $width 圖片裁剪寬度
*@param int $height 圖片裁剪高度
*@param int $x 裁剪圖片左邊開始的位置
*@param int $y 裁剪圖片頂邊開始的位置
*/
function cut($filename,$x,$y,$width,$height)
{
/*獲取圖像資源,需要裁剪的圖片*/
$image = imagecreatefrompng($filename);
/*以新的大小創(chuàng)建畫布,保存裁剪后的圖片*/
$image_p = imagecreatetruecolor($width, $height);
/*使用imagecopyresampled縮放*/
imagecopyresampled($image_p, $image, 0, 0, $x, $y, $width, $height, $width, $height);
/*保存裁剪后的圖片和命名*/
imagepng($image_p,'test1.png');
/*釋放資源*/
imagedestroy($image_p);
imagedestroy($image);
}
/*調用函數*/
cut('1.png',20,20,80,80);
?>
<div>
<h4>裁剪之后</h4>
<img src="test1.png" style="border:1px solid red;">
</div>
效果

4、PHP為圖像添加水印
<div>
<h4>沒有水印</h4>
<img src="1.png" style="border:1px solid red;">
</div>
<?php
header("content-type","text/html;charset=utf-8");
/*
*給背景圖片添加水印,背景圖片格式png,水印格式gif
*@param string $filename 圖片的url
*@param string $water 水印圖片
*/
function watermark($filename,$water)
{
/*獲取原圖的大小*/
list($b_w,$b_h) = getimagesize($filename);
/*獲取水印圖片的大小*/
list($w_w,$w_h) = getimagesize($water);
/*在背景圖片中放水印圖片的隨機起始位置*/
$posX =rand(0,($b_w - $w_w));
$posY =rand(0,($b_h - $w_h));
/*獲取圖像資源,需要裁剪的圖片*/
$back = imagecreatefrompng($filename);
$water = imagecreatefromgif($water);
/*使用Inagecopy函數復制水印圖片到指定位置*/
imagecopy($back, $water, $posX, $posY, 0, 0, $w_w, $w_h);
/*保存帶水印的圖片和命名*/
imagepng($back,'test2.png');
/*釋放資源*/
imagedestroy($back);
imagedestroy($water);
}
/*調用函數*/
watermark('1.png','test.gif');
?>
<div>
<h4>加上水印</h4>
<img src="test2.png" style="border:1px solid red;">
</div>
效果

相關文章
windows下apache搭建php開發(fā)環(huán)境
本文詳細介紹了在Windows2003下使用Apache2.2.21/PHP5.3.5/Mysql5.5.19/phpMyAdmin3.4.9搭建php開發(fā)環(huán)境,本文介紹的非常詳細,需要的朋友快來學習吧2015-08-08
使用php偽造referer的方法 利用referer防止圖片盜鏈
當瀏覽器向web服務器發(fā)送請求的時候,一般會帶上Referer,告訴服務器我是從哪個頁面鏈接過來的,服務器籍此可以獲得一些信息用于處理,不過這個Referer是可以偽造,下面看一個示例,大家就明白了2014-01-01
PHP各種異常和錯誤的攔截方法及發(fā)生致命錯誤時進行報警
在日常開發(fā)中,大多數人的做法是在開發(fā)環(huán)境時開啟調試模式,在產品環(huán)境關閉調試模式。在開發(fā)的時候可以查看各種錯誤、異常,但是在線上就把錯誤顯示的關閉2016-01-01

