您的位置:

php图片缩小,PHP图片压缩

本文目录一览:

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键,使用鼠标调整大小,这种情况下,选区会按照等比例的方法进行缩放的。