导航:首页 > 文件处理 > php图片等比压缩

php图片等比压缩

发布时间:2022-09-21 21:44:42

php 如何将上传的图片按比例缩放并存在服务器里

//接收上传的文件
foreach($_FILESas$file)
{
$tempFileName=$file['tmp_name'];//上传文件的临时路径
}
/把图片移动到服务器制定路径
$img='/var/www/html/picture/test.jpg';
move_uploaded_file($tempFileName,$img);

//缩放比例
$ratio=0.5;

//修改尺寸至于各个函数是干嘛的,google一下吧
$imagedata=getimagesize($img);
$olgWidth=$imagedata[0];
$oldHeight=$imagedata[1];
$newWidth=$olgWidth*$ratio;
$newHeight=$oldHeight*$ratio;

$image=imagecreatefromjpeg($img);
$thumb=imagecreatetruecolor($newWidth,$newHeight);
imageresized($thumb,$image,0,0,0,0,$newWidth,$newHeight,$olgWidth,$oldHeight);
imagejpeg($thumb,$img);

imagedestroy($thumb);
imagedestroy($image);

⑵ PHP等比例压缩图片的实例代码

具体代码如下所示:
/**
*
desription
压缩图片
*
@param
sting
$imgsrc
图片路径
*
@param
string
$imgdst
压缩后保存路径
*/
public
function
compressedImage($imgsrc,
$imgdst)
{
list($width,
$height,
$type)
=
getimagesize($imgsrc);
$new_width
=
$width;//压缩后的图片宽
$new_height
=
$height;//压缩后的图片高
if($width
>=
600){
$per
=
600
/
$width;//计算比例
$new_width
=
$width
*
$per;
$new_height
=
$height
*
$per;
}
switch
($type)
{
case
1:
$giftype
=
check_gifcartoon($imgsrc);
if
($giftype)
{
header('Content-Type:image/gif');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefromgif($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是质量、压缩图片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
}
break;
case
2:
header('Content-Type:image/jpeg');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefromjpeg($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是质量、压缩图片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
break;
case
3:
header('Content-Type:image/png');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefrompng($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是质量、压缩图片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
break;
}
}
总结
以上所述是小编给大家介绍的PHP等比例压缩图片的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:php中10个不同等级压缩优化图片操作示例PHP
实现等比压缩图片尺寸和大小实例代码php
gd等比例缩放压缩图片函数基于PHP实现等比压缩图片大小php上传图片并压缩的实现方法PHP实现图片上传并压缩PHP实现图片压缩的两则实例php使用imagick模块实现图片缩放、裁剪、压缩示例

⑶ 随便下载一张图片,使用PHP将图片缩放到原来的1/2

//如果是JPG格式,则生成一个同比例的缩小图
$file="xxx.jpg";

$extend_name=strtolower(substr(strrchr($file,"."),1));

if($extend_name=='jpg'){
$image = imagecreatefromjpeg($full_name);//取原图的数据
}
//如果是gif格式,则生成一个同比例的缩小图
if($extend_name=='gif'){
$image = imagecreatefromgif($full_name);//取原图的数据
}
//如果是png格式,则生成一个同比例的缩小图
if($extend_name=='png'){
$image = imagecreatefrompng($full_name);//取原图的数据
}
//echo $full_name.$full_name_small;
$size=GetImageSize($full_name);
$x=$size[0];
$y=$size[1];
//echo $x." _ ".$y;
//假设首页上的图都是250象素左右,如果缩成150则图像失真太严重,则把所有的图都按这个大小进行等比缩放
//计算缩小比例
$rate=1/2;
$small_x=$size[0]*$rate;
$small_y=$size[1]*$rate;
$small_image = imagecreatetruecolor($small_x, $small_y);
imageCopyResampled($small_image,$image,0,0,0,0,$small_x,$small_y,$x,$y);
if(imagejpeg($small_image,$full_name_small)){
ImageDestroy($small_image);
}else{
}

⑷ php将pdf文件格式转换成图片,并压缩

有一份pdf文件,需要将其转换成图片, 如果图片过大,同时还需要将其压缩。

1、安装插件

因为不同版本的用法略有区别,我这里用的是2.1版, 最近文档还需要看官方文档。

2、简单使用

3、常用方法

4、其他

1、说明

2、安装

不同版本的使用略有区别,我这用的是2.5版本的

3、简单使用

其中resize,可以指定压缩的宽度和高度,如

如果是指定宽度,智适应高度就是这样

save的三个参数是,

4、更多
更多使用,看 说明文档

压缩图片的时候,报不能读取问题

这个可能是遇到最多的问题。可能原因如下:
1、文件读取权限
查看文件的权限,看是否有读取的权限(r), 没有的话直接把文件改为 777

2、插件不支持该格式文件
输入 php --ri imagick , 在支持列表看是否支持该文件的格式。没有的话,自己网络啦。

3、内存或缓存不够
进入插件的 /vendor/intervention/image/src/Intervention/Image/Imagick/Decoder.php , 在24行断点

可能会得到消息:

然后,在网络下,原来是压缩的文件过大,插件使用的缓存不够,这里直接将配置改大即可

将配置文件改成如下

⑸ php等比缩放图片,就是只按宽度缩小图片,当图片宽度大于750时就缩小到750 高度不用管 跟着宽度缩就行了

首先说一下思路,首先你要判断图片的宽度,这需要用到一个函数,个人比较喜欢用getimagesize()
其次是等比例绽放,需要用到imageresized(当然还有其他函数)
注意:我这里用到的是gd库
实现:
写一个函数或者类都行,我这里就以面向过程的方式来写,你可以整理一下
$file = 'pic.jpg'; //原图片文件
$maxWidth = 750;
$info = getimagesize($file); //取得一个图片信息的数组,索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记
if($info[0] > $maxWidth )
{
exit('图片小于'.$maxWidth.',不需要缩放');
}
$im = imagecreatefromjpeg($file); //根据图片的格式对应的不同的函数,在此不多赘述。
$rate = $maxWidth/$info[0]; //计算绽放比例
$maxHeight = floor($info[1]*$rate); //计算出缩放后的高度
$des_im = imagecreatetruecolor($maxWidth,$maxHeight); //创建一个缩放的画布
imageresized($des_im,$im,0,0,0,0,$maxWidth,$maxHeight,$info[0],$info[1]); //缩放
imagejpeg($des_im,'thumb.jpg'); //输出到thumb.jpg即为一个缩放后的文件

⑹ php压缩图片大小到500k一下应该怎么做啊

可以用光影啊,还有就是ps都可以了

⑺ php等比例压缩图片

等比压缩的知道比例吧?。所以需要根据比例设置$dst_w 和$dst_h
比如设置比例为2:1,代码就应该这样设置

$dst_w = $src_w/2
$dst_h = $src_h/2
这样就行了

⑻ 如何利用php把上传的图片压缩

<?php
//Thefile
$filename='test.jpg';
$percent=0.5;

//Contenttype
header('Content-Type:image/jpeg');

//Getnewdimensions
list($width,$height)=getimagesize($filename);
$new_width=$width*$percent;
$new_height=$height*$percent;

//Resample
$image_p=imagecreatetruecolor($new_width,$new_height);
$image=imagecreatefromjpeg($filename);
imageresampled($image_p,$image,0,0,0,0,$new_width,$new_height,$width,$height);

//Output
imagejpeg($image_p,null,100);
?>

http://php.net/manual/en/function.imageresampled.php

⑼ php 等比例压缩和函数循环调用问题

$arr['tmp']['size']这个就是限制图片上传大小的值,单位是bit。等比例压缩我不会

⑽ php 怎么压缩图片的大小

好办的,你把网站下载到本地,然后 用这个批量压缩图片的软件就可以了

阅读全文

与php图片等比压缩相关的资料

热点内容
加强数字货币国际信息编译能力 浏览:580
购买的app会员怎么退安卓手机 浏览:889
程序员的种类及名称 浏览:290
美国程序员薪资 浏览:12
黑石通汇证券服务器什么时候到期 浏览:391
东方财富app里我的关注怎么看 浏览:747
bm3d单反级降噪算法 浏览:457
华为安卓机激活时间怎么查询 浏览:850
如何用优盘重装服务器系统 浏览:317
日本结婚三代算法 浏览:920
皓强工具解压步骤 浏览:690
部队抗洪抢险命令范文 浏览:888
欧姆龙plc编程软件使用教程 浏览:594
ai文件pdf 浏览:912
腾讯云服务器挂载混合云 浏览:758
智能小车用什么单片机 浏览:463
java怎么给窗口关闭 浏览:940
列举51单片机的寻址方式 浏览:706
剪辑app怎么写长篇文字 浏览:400
app专属流量过月租怎么不更新 浏览:656