php縮放圖片
⑴ HTML php 網頁如何設定圖片寬度超過700px 則自動縮小
第一個方法:
1、用css來實現IE7以上瀏覽器的圖片縮略效果。
.divimg{ max-width:50px; max-height:50px; } *html.divimg{width:expression(this.width>50&&this.width>this.height?50:auto); height:expresion(this.height>50?50:auto); }
說明: 這段代碼是把圖片等比例縮小為50px * 50px,可以根據網頁的寬度來自由修改尺寸。
2、萬惡的IE6不識別上面的代碼怎麼辦?
如果你的網頁寬度為580像素,我們來看
.ltop3 { line-height: 25px; font-size: 12px; overflow: hidden; width: 580px;}
這樣的話,IE7會識別第一步的代碼來自動縮略,而IE6會根據第二步的代碼,如果圖片內容超過網頁寬度就自動隱藏,這就完美的解決了圖片的縮略問題。
另外還有一個方法也告訴大家,希望有用。
第2個方法:
JS代碼加到網頁<BODY>前面
<SCRIPT language=javaScript type=text/JavaScript>
//改變圖片大小
function resizepic(thispic)
{
if(thispic.width>400) thispic.width=400;
}
//無級縮放圖片大小
function bbimg(o)
{
var zoom=parseInt(o.style.zoom, 10)||100;
zoom+=event.wheelDelta/12;
if (zoom>0) o.style.zoom=zoom+'%';
return false;
}
</SCRIPT>
在圖片屬性加上onmousewheel="return bbimg(this)" onload="javascript:resizepic(this)" 代碼即可讓超過400像素的圖片自動縮略。
⑵ php如何實現圖片的裁剪
php中裁剪圖片主要使用gd庫的imageresampled方法
$src_path='1.jpg';
//創建源圖的實例
$src=imagecreatefromstring(file_get_contents($src_path));
//裁剪開區域左上角的點的坐標
$x=100;
$y=12;
//裁剪區域的寬和高
$width=200;
$height=200;
//最終保存成圖片的寬和高,和源要等比例,否則會變形
$final_width=100;
$final_height=round($final_width*$height/$width);
//將裁剪區域復制到新圖片上,並根據源和目標的寬高進行縮放或者拉升
$new_image=imagecreatetruecolor($final_width,$final_height);
imageresampled($new_image,$src,0,0,$x,$y,$final_width,$final_height,$width,$height);
//輸出圖片
header('Content-Type:image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);
⑶ php創建縮略圖問題
其實PHP創建縮略圖就是在PHP在原圖片的基礎上創建一張新的圖片的過程,而用PHP創建圖像的過程一般分成四部:
第一步:創建一張畫布(只要是畫圖都需要一張畫布的)
第二步:在畫布畫東西(可以畫各種圖形,如長方形,直線,等等,也可以在畫布上寫字啥的,或者畫其他的圖形)
第三步:畫完圖之後,將圖片輸出,將圖片輸出到瀏覽器,在瀏覽器顯示出來,或者保存為一張新 的圖片(縮略圖一般是保存為圖片文件的)
第四步:因為創建畫布時打開了文件流,所以要關閉資源,節省內存。(個人覺得你可以這樣理解,打開了一畫布,把它鋪開了,畫完了就把畫布捲起來,收起來,不要佔著鋪的地方)
具體的代碼如下:(這段代碼來源於ThinkPHP的圖像類)
<?php
classThumb{
/**
*@paramstring$image原圖
*@paramstring$thumbname縮略圖文件名
*@paramstring$type圖像格式
*@paramstring$maxWidth寬度
*@paramstring$maxHeight高度
*/
staticcreate($img,$thumbname,$type='',$maxWidth=200,$maxHeight=50)
{
$info=getimagesize($img);//獲取原圖的圖像信息(長、寬、格式等)
if($info!==false){
$srcWidth=$info['width'];
$srcHeight=$info['height'];
$type=empty($type)?$info['type']:$type;
$type=strtolower($type);
$interlace=$interlace?1:0;
unset($info);
$scale=min($maxWidth/$srcWidth,$maxHeight/$srcHeight);//計算縮放比例
if($scale>=1){
//超過原圖大小不再縮略
$width=$srcWidth;
$height=$srcHeight;
}else{
//縮略圖尺寸
$width=(int)($srcWidth*$scale);
$height=(int)($srcHeight*$scale);
}
//載入原圖(在原圖的基礎上創建畫布,為第一步)
$createFun='ImageCreateFrom'.($type=='jpg'?'jpeg':$type);
if(!function_exists($createFun)){
returnfalse;
}
$srcImg=$createFun($image);
//第二步開始
//創建縮略圖
if($type!='gif'&&function_exists('imagecreatetruecolor'))
$thumbImg=imagecreatetruecolor($width,$height);
else
$thumbImg=imagecreate($width,$height);
//png和gif的透明處理byluofei614
if('png'==$type){
imagealphablending($thumbImg,false);//取消默認的混色模式(為解決陰影為綠色的問題)
imagesavealpha($thumbImg,true);//設定保存完整的alpha通道信息(為解決陰影為綠色的問題)
}elseif('gif'==$type){
$trnprt_indx=imagecolortransparent($srcImg);
if($trnprt_indx>=0){
//itstransparent
$trnprt_color=imagecolorsforindex($srcImg,$trnprt_indx);
$trnprt_indx=imagecolorallocate($thumbImg,$trnprt_color['red'],$trnprt_color['green'],$trnprt_color['blue']);
imagefill($thumbImg,0,0,$trnprt_indx);
imagecolortransparent($thumbImg,$trnprt_indx);
}
}
//復制圖片
if(function_exists("ImageCopyResampled"))
imageresampled($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);
else
imageresized($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);
//第三步:輸出圖像
//生成圖片
$imageFun='image'.($type=='jpg'?'jpeg':$type);
$imageFun($thumbImg,$thumbname);
//第四步:關閉畫布
imagedestroy($thumbImg);
imagedestroy($srcImg);
return$thumbname;
}
returnfalse;
}
}
?>
你使用的時候直接用:
requireThumb.class.php
$thumb=Thumb::create('s.jpg','thumb_s.jpg',100,50);
希望我的回答你能滿意
⑷ PHP 圖片上傳生成縮略圖
//2014年3月5日15:08:02因為需要做縮略圖,所以改用thinkphp來做上傳,它支持時間戳命名,方便命名,以及更名
//這是以前網路到的,然後使用的縮略圖代碼,需要cg庫支持
/**
*生成縮略圖
*@[email protected]
*@paramstring源圖絕對完整地址{帶文件名及後綴名}
*@paramstring目標圖絕對完整地址{帶文件名及後綴名}
*@paramint縮略圖寬{0:此時目標高度不能為0,目標寬度為源圖寬*(目標高度/源圖高)}
*@paramint縮略圖高{0:此時目標寬度不能為0,目標高度為源圖高*(目標寬度/源圖寬)}
*@paramint是否裁切{寬,高必須非0}
*@paramint/float縮放{0:不縮放,0<this<1:縮放到相應比例(此時寬高限制和裁切均失效)}
*@returnboolean
*/
functionfileext($file)
{
returnstrtolower(pathinfo($file,PATHINFO_EXTENSION));
}
functionimg2thumb($src_img,$dst_img,$width=75,$height=75,$cut=0,$proportion=0)
{
if(!is_file($src_img))
{
returnfalse;
}
$ot=$this->fileext($dst_img);
$otfunc='image'.($ot=='jpg'?'jpeg':$ot);
$srcinfo=getimagesize($src_img);
$src_w=$srcinfo[0];
$src_h=$srcinfo[1];
$type=strtolower(substr(image_type_to_extension($srcinfo[2]),1));
$createfun='imagecreatefrom'.($type=='jpg'?'jpeg':$type);
$dst_h=$height;
$dst_w=$width;
$x=$y=0;
/**
*縮略圖不超過源圖尺寸(前提是寬或高只有一個)
*/
if(($width>$src_w&&$height>$src_h)||($height>$src_h&&$width==0)||($width>$src_w&&$height==0))
{
$proportion=1;
}
if($width>$src_w)
{
$dst_w=$width=$src_w;
}
if($height>$src_h)
{
$dst_h=$height=$src_h;
}
if(!$width&&!$height&&!$proportion)
{
returnfalse;
}
if(!$proportion)
{
if($cut==0)
{
if($dst_w&&$dst_h)
{
if($dst_w/$src_w>$dst_h/$src_h)
{
$dst_w=$src_w*($dst_h/$src_h);
$x=0-($dst_w-$width)/2;
}
else
{
$dst_h=$src_h*($dst_w/$src_w);
$y=0-($dst_h-$height)/2;
}
}
elseif($dst_wxor$dst_h)
{
if($dst_w&&!$dst_h)//有寬無高
{
$propor=$dst_w/$src_w;
$height=$dst_h=$src_h*$propor;
}
elseif(!$dst_w&&$dst_h)//有高無寬
{
$propor=$dst_h/$src_h;
$width=$dst_w=$src_w*$propor;
}
}
}
else
{
if(!$dst_h)//裁剪時無高
{
$height=$dst_h=$dst_w;
}
if(!$dst_w)//裁剪時無寬
{
$width=$dst_w=$dst_h;
}
$propor=min(max($dst_w/$src_w,$dst_h/$src_h),1);
$dst_w=(int)round($src_w*$propor);
$dst_h=(int)round($src_h*$propor);
$x=($width-$dst_w)/2;
$y=($height-$dst_h)/2;
}
}
else
{
$proportion=min($proportion,1);
$height=$dst_h=$src_h*$proportion;
$width=$dst_w=$src_w*$proportion;
}
$src=$createfun($src_img);
$dst=imagecreatetruecolor($width?$width:$dst_w,$height?$height:$dst_h);
$white=imagecolorallocate($dst,255,255,255);
imagefill($dst,0,0,$white);
if(function_exists('imageresampled'))
{
imageresampled($dst,$src,$x,$y,0,0,$dst_w,$dst_h,$src_w,$src_h);
}
else
{
imageresized($dst,$src,$x,$y,0,0,$dst_w,$dst_h,$src_w,$src_h);
}
$otfunc($dst,$dst_img);
imagedestroy($dst);
imagedestroy($src);
returntrue;
}
⑸ php圖片縮放,對於包含exif信息的數碼圖片怎麼處理
縮放屬於php壓縮成新圖片,當然就去掉exif頭信息;
php獲取exif使用 exif_read_data
⑹ 怎麼改變文件的大小
問題一:如何修改照片格式及文件大小? 帳號修復支持中心所支持上傳的照片不可超過1M大小,如果您的圖片較大,可參考以下方法調整圖片文件大小。 具體操作方法如下(以Windows系統自帶的畫圖工具為例):1、找到需要調整的圖片並右鍵點擊該圖物隱片,在下拉菜單中選擇「打開方式」-->「畫圖」;2、打開畫圖工具後,在畫圖窗口正下方可以看到此圖片的高和寬(作為下一步填寫縮放比例的依據);3、然後點擊「圖像」欄目中的「重新調整大小」按鈕;4、在彈窗中選中「百分比(默認)」-->根據您的需要調整水平和垂直的「百分比值」-->最後點擊「確定」即可;(水平和垂耿的百分比值可根據圖片的高和寬來決定縮放比例,一般將縮放後的圖片高和寬控制在500-1200像素之間最為合適)5、點擊「文件」按鈕-->並在下拉選項中選擇「另存為」-->選擇「JPEG圖片」格式;6、保存完畢後會生成一張新的JPEG格式的圖片,在圖片屬性中可以查看修改後的圖片大小,如果文件還是比較大,可以繼續用此法進行壓縮直到合適為止。
問題二:如何修改上傳文件的大小 找到php.ini文件,
編輯該文件
搜索:memory_limit、post_max_size、upload_max_filesize、max_execution_time、max_input_time
一般默認的設置值為:
memory_limit=128M 相當於單個腳本可調用內存大小
post_max_size=8M 上傳文件大小上限
upload_max_filesize=2M默認上傳文件大小,這個就是2M的限制!
max_execution_time=30最大執行時間,頁面等待時間
max_input_time=60最大輸入時間?具體意義不明確,就是上傳時間相關
然後將其改為自己需要的值,例如:
memory_limit=128M
post_max_size=12M
upload_max_filesize=10M這樣就改為可以傳10M以下的文件了
max_execution_time=60
max_input_time=60
重啟服務使得設置才能生效!
問題三:ps怎麼更改已經建好的文件大小 如圖
點擊 圖像――圖像大小,即可出現圖龔框圖
直接修改,即可
如果有疑問,可以追問
問題四:win7如何改變文件夾圖標的大小? 您好,這很簡單
當你調好一個文件夾的圖標後
在這個文件夾點左上角的 組織――文件夾和搜索選項――查看――應用到文件夾――確定
這樣所有耐納的文川夾顯示模式都一樣了
問題五:如何修改掃描文件的大小和尺寸 方法如下
文件大小:打開,另存為,選擇格式,會彈出一個對話框選擇品質,越低文件越小,質量越差,根據需要選擇,如果對解析度沒有要求,就減少解析度,菜單欄圖像,圖像大小,解析度,在裡面輸入數值即可
尺寸大小:打開,圖像,圖像大小,在裡面輸入大小即可,如果是剪裁,打開之後在工具箱找到剪裁工具,拖拽,拖出保留的區域雙擊即可剪裁完畢
問題六:用photoshop怎樣改變文件大小 文件----存儲為---jpg格式----jpg選項----圖像選項---低,中,高,最佳,品質Q同時顯示3.5.8.10。或者調滑塊:小文件---大文件。
這樣只改變圖功文件大小,不改變圖片尺寸。
問題七:怎麼改照片大小(包括容量大小即KB大小和尺寸大小)? 給你說個簡單的方法
右鍵在照片上單擊,在彈出的菜單選擇編輯(默鄲用系統自帶的畫圖工具打開),打開圖片以後點編輯窗口的圖像下拉縮或扭曲,然後按照長寬百分比縮放照片到合適的大小,最後點文件菜單下的另存為,保存格式選擇JPG格式,保存。注意記得更換文件名稱,要不就覆蓋你原來的照片了。
問題八:PNG圖片文件大小怎麼改變 實際上在photoshop中,需要「存儲為web所鼎格式」,在對話框中選擇格式為png-8,這樣保存的文件體積會罩畝廳很小。(注意:直接通過菜單命令,改圖像模式為索引色,文件體積還是很大,為什麼這樣我也不知道。另外有專門減小png體積的工具OptiPNG,適合批量優化png體積,可以試試。)
問題九:如何改變word2007文檔大小 方法一、重新進行頁面設置
1、在保存文件前,單擊「頁面布局」選項卡「頁面設置」組右下角的「對話框啟動器」按鈕。
2、在打開的「頁面設置」對話框中,任意單擊其中的「紙張大小」、「頁邊距」等,無須改變其中的內容,單擊「確定」按鈕後,再保存文件,這樣就縮小word文檔大小了。
方法二、定稿後,復制到新建文檔中
Word文檔經過多次編輯,其存檔後的文件會迅速膨脹,尤其是含有數個圖片的Word文件,因此一篇文檔經過反復編輯並已定稿後,可將文檔內容復制到新的文檔中,這樣同樣可以實現縮小word文檔大小,這也是一種非常方便實用的減小word文檔大小的方法。
方法三、對圖片格式進行處理
在插入圖片之前,首先有必要對圖片格式進行處理,盡量使用JPG格式的壓縮圖片格式,而且這種圖片格式又能保持圖片更高的清晰度,這里順便說一下,為了讓JPG文件足夠的小,請在PS中以另存為WEB格式保存,然後選擇JPG格式,同時選擇50%的質量度,這樣JPG文件不但小而且不會造成顏色失真,也只有把JPG文件圖片變小了這樣才能縮小word文檔大小,從而減小word文件大小。
方法四、簡單的文檔格式
在文檔中設置各種字型大小和字體同樣會影響Word文件大小,這就有必要在文檔排版過程中盡量使用簡單的字體字型字型大小,不必過多地使用華麗的渲染效果,設置排版越簡單Word文件就越小,反之word文檔就越大,設置簡單的文檔格式可以說是一種最直接的減小word文件大小的方法。
方法五、文件另存為Word
在保存DOC文件時,只要把後來修改的信息存入,這樣即使用刪除了文件中的部分內容也會使文件越來越大,如果用「另存為」命令來保存文件,這樣就可以有效地減少文檔容量從而實現縮小word文檔大小。
方法六、謹慎嵌入字體
Word有嵌入字體技術,能夠將一篇文章所含的字體結合成一個文件,以便文件在另一台計算機上能正確地顯示,嵌入的字體越多就越會造成Word越大,只有盡量不用嵌入字體才能縮小word文檔大小。取消嵌入字體的步驟是:
1、單擊「文件」選項卡左側導航條中的「選項」命令
2、在彈出「Word」選項對話框的左側單擊「校對」選項卡,並勾選右側窗體「保存」組中的「嵌入語言數據」復選框,這樣就可以在文件中即有所需要的字體,又可以縮小word文檔大小。
說明:在Word2003早期版本中實現嵌入字體相關功能,需在「工具」菜單下的「選項」中的保存選項卡中進行設置。
問題十:Word怎麼改變其中一頁的頁面大小 左上角,文件。頁面設置裡面,然後改寬度,預覽那裡的應用於:選本節。如果沒本節給你選,就選插入點後,等於是新建了一個頁面。