本文目錄一覽:
PHP 怎麼樣把一張圖片縮小到指定大小
如果是改變顯示的大小,直接img標籤屬性里,width和height設置啊。
如果想真正改變,你看看這個代碼(沒試驗過):
function makeThumb($srcFile,$dstFile,$dstW,$dstH) {
$data=GetImageSize($srcFile,$info);
switch (CoreUtil::getFileExtension($dstFile)){
case’gif’:
$im= @ImageCreateFromGIF($srcFile); break;
case’jpg’:
case’jpeg’:
$im= @imagecreatefromjpeg($srcFile); break;
case’png’:
$im= @ImageCreateFromPNG($srcFile); break;
default:returnFalse;
}
if(!$im) returnFalse;
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$dstX=0;
$dstY=0;
if ($srcW*$dstH$srcH*$dstW){
$fdstH=round($srcH*$dstW/$srcW);
$dstY=floor(($dstH-$fdstH)/2); $fdstW=$dstW;
} else {
$fdstW=round($srcW*$dstH/$srcH); $dstX=floor(($dstW-$fdstW)/2);
$fdstH=$dstH;
}
$ni=ImageCreate($dstW,$dstH);
$dstX=($dstX0)?0:$dstX;
$dstY=($dstX0)?0:$dstY;
$dstX=($dstX($dstW/2))?floor($dstW/2):$dstX;
$dstY=($dstY($dstH/2))?floor($dstH/s):$dstY;
$black= ImageColorAllocate($ni,0,0,0);
imagefilledrectangle($ni,0,0,$dstW,$dstH,$black);
ImageCopyResized($ni,$im,$dstX,$dstY,0,0,$fdstW,$fdstH,$srcW,$srcH);
ImageJpeg($ni,$dstFile);
imagedestroy($im);
imagedestroy($ni);
returnTrue;
}
大概就是用到imagecreatefromjpeg、imagecreatetruecolor、imagecopyresampled 、 imagepng這幾個函數
php 怎麼壓縮圖片的大小
php 壓縮圖片的大小:
?php
$im = imagecreatefromjpeg(‘D:phpplace.jpeg’);
resizeImage($im,,,’xinde’,’.jpg’);
function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
{
$pic_width = imagesx($im);
$pic_height = imagesy($im);
echo “start—————–” ;
if(($maxwidth $pic_width $maxwidth) ($maxheight $pic_height $maxheight))
{
if($maxwidth $pic_width$maxwidth)
{
$widthratio = $maxwidth/$pic_width;
$resizewidth_tag = true;
}
if($maxheight $pic_height$maxheight)
{
$heightratio = $maxheight/$pic_height;
$resizeheight_tag = true;
}
if($resizewidth_tag $resizeheight_tag)
{
if($widthratio$heightratio)
$ratio = $widthratio;
else
$ratio = $heightratio;
}
if($resizewidth_tag !$resizeheight_tag)
$ratio = $widthratio;
if($resizeheight_tag !$resizewidth_tag)
$ratio = $heightratio;
$newwidth = $pic_width * $ratio;
$newheight = $pic_height * $ratio;
if(function_exists(“imagecopyresampled”))
{
$newim = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
else
{
$newim = imagecreate($newwidth,$newheight);
imagecopyresized($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
$name = $name.$filetype;
imagejpeg($newim,$name);
imagedestroy($newim);
}
else
{
$name = $name.$filetype;
imagejpeg($im,$name);
}
}
Php怎麼修改圖片的尺寸大小並且覆蓋原圖?
html文件中要通過層來實現圖片大小的覆蓋,在php中嵌套html中的div進行實現覆蓋的圖片,需要插入兩個DIV才可以實現,給你一個參考代碼:
div style=”position: relative;”//這個層為外面的父層,只需設置相對位置樣式即可
div style=”position: absolute;”//這個為裡面要疊加的層,只需設置絕對樣式
img src=”img/sunshuai.jpg”///這個為層裡面的內容圖片
/div
img src=”20110110/871_129391305700000000.jpg”///這個為父層內容
/div
php圖片可以等比例的縮放嗎
可以。
等比例縮放的方法是:
1、載入選區–自由變換。如下圖:
2、按住shift+alt鍵,使用滑鼠調整大小,這種情況下,選區會按照等比例的方法進行縮放的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245330.html