小編給大家分享一下php中如何縮放圖片以及為圖片添加水印,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
站在用戶的角度思考問題,與客戶深入溝通,找到鐵西網(wǎng)站設(shè)計(jì)與鐵西網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋鐵西地區(qū)。有兩種改變圖像大小的方法.
(1):ImageCopyResized() 函數(shù)在所有GD版本中有效,但其縮放圖像的算法比較粗糙.
(2):ImageCopyResampled(),其像素插值算法得到的圖像邊緣比較平滑.質(zhì)量較好(但該函數(shù)的速度比 ImageCopyResized() 慢).
兩個(gè)函數(shù)的參數(shù)是一樣的.如下:
ImageCopyResampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);
ImageCopyResized(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);
它們兩個(gè)都是從原圖像(source)中抓取特定位置(sx,sy)復(fù)制圖像qu區(qū)域到目標(biāo)t 圖像(destination)的特定位置(dx,dy)。另外dw,dh指定復(fù)制的圖像區(qū)域在目標(biāo)圖像上的大小,sw,sh指定從原圖像復(fù)制的圖像區(qū)域 的大小。如果有ps經(jīng)驗(yàn)的話,就相當(dāng)于在原圖像選擇一塊區(qū)域,剪切移動(dòng)到目的圖像上,同時(shí)有拉伸或縮小的操作。
例一:
(本例子是將圖片按原大小的4/1的大小顯示)
復(fù)制代碼 代碼如下:
// 指定文件路徑和縮放比例
$filename = 'test.jpg';
$percent = 0.5;
// 指定頭文件Content typezhi值
header('Content-type: image/jpeg');
// 獲取圖片的寬高
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// 創(chuàng)建一個(gè)圖片。接收參數(shù)分別為寬高,返回生成的資源句柄
$thumb = imagecreatetruecolor($newwidth, $newheight);
//獲取源文件資源句柄。接收參數(shù)為圖片路徑,返回句柄
$source = imagecreatefromjpeg($filename);
// 將源文件剪切全部域并縮小放到目標(biāo)圖片上。前兩個(gè)為資源句柄
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// 輸出給瀏覽器
imagejpeg($thumb);
?>
推薦一個(gè)簡(jiǎn)單實(shí)用的縮放圖片工具 SimpleImage,參考http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/
使用方法:
復(fù)制代碼 代碼如下:
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resize(250,400);
$image->save('picture2.jpg');?>
設(shè)定寬度,等比例縮放
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToWidth(250);
$image->save('picture2.jpg');?>
設(shè)定高度,等比例縮放
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToHeight(500);
$image->save('picture2.jpg');
$image->resizeToHeight(200);
$image->save('picture3.jpg');?>
按比例,縮放至50%
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->scale(50);
$image->save('picture2.jpg');?>
縮放后直接輸出到屏幕
header('Content-Type: image/jpeg');
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToWidth(150);
$image->output();?>
SimpleImage.php 源碼請(qǐng)輕點(diǎn)文章開頭鏈接,到那下載
--------------------------------------------------------------------------------
為圖片加上水印
復(fù)制代碼 代碼如下:
$source=imagecreatefromjpeg('E:/image/guide_pic.jpg');
$thumb=imagecreatefromjpeg('E:/image/l.JPG');
//取得圖片的寬度,高度,類型
list($width,$height,$mine)=getimagesize('E:/image/guide_pic.jpg');
imagecopymerge ($source,$thumb,$width-124,$height-150,0,0,88,73,70);
//生成圖片
imagejpeg($source,'E:/image/logo.jpg');
?>
以上是“php中如何縮放圖片以及為圖片添加水印”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!