php写的图片压缩类(php上传图片压缩)

本文目录一览:

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将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 图片压缩显示

(1)网页结构里用:img src=”image.php?name=p01.png”,来调用处理后的图片信息。

(2)在后台脚本 image.php 里对传过来的图片名进行处理返回:

?php

$pic = $_REQUEST[‘name’];

// 1.打开图片源文件资源

$im = @imagecreatefrompng($pic);

if ($im) {

// 2.源文件的宽高,也可写为定值

$fx = imagesx($im); // 取宽

$fy = imagesy($im); // 取高

// 3.使用新的宽高

$sx = 150;

$sy = 100;

// 4.生成小图资源

$sm = imagecreatetruecolor($sx,$sy);

// 5.进行缩放

imagecopyresampled($sm,$im,0,0,0,0,$sx,$sy,$fx,$fy);

// 6.输出图像

header(‘Content-Type: image/png’);

imagepng($sm);

// 7.释放资源

imagedestroy($sm);

imagedestroy($im);

}

(3)代码里假设是对 png 图片处理,相关字都是 png,如果想对 jpg 类型处理的可都换成 jpeg

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);

imagecopyresampled($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);

imagecopyresampled($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);

imagecopyresampled($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模块实现图片缩放、裁剪、压缩示例

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/127744.html

汽车小知识 小米SU7 今日油价 油耗计算器 电耗计算器 购置税计算器 贷款计算器 保险计算器 交通违章代码 体育新闻
(0)
简单一点的头像简单一点
上一篇 2024-10-03 23:16
下一篇 2024-10-03 23:16

相关推荐

  • PHP中is_numeric函数的用法和实例

    一、is_numeric函数的基本用法 在PHP中,is_numeric函数用于检查字符串是否为数值或数字字符串。如果字符串为数值或数字字符串,则返回true。否则返回false。…

    编程 2024-10-24
  • 32位linux版本mysql的简单介绍

    本文目录一览: 1、如何在linux下安装mysql 2、liunx怎么安装mysql rpm安装方法 3、linux下怎么安装mysql 4、32位linux系统的mysql最高…

    编程 2024-10-03
  • Python字符串startswith方法详解

    一、概述 Python是一门优秀的编程语言,其支持众多强大的字符串函数,其中startwith()函数是字符串函数中的重要一员。本文将深入探讨Python字符串startswith…

    编程 2024-11-08
  • 使用SQlDROP语句彻底删除数据库中的表

    一、DROP语句的基本概念 DROP是SQL语言中常用的语句之一,用于删除数据库中的对象,包括表、视图、索引等。 例如,在MySQL数据库中,删除一个表的语句可以写作: DROP …

    编程 2024-10-04
  • java进阶05多线程的简单介绍

    本文目录一览: 1、什么是JAVA的多线程? 2、请问java中的多线程是怎么回事? 3、如何用Java编写多线程 4、java 多线程 5、java 多线程是什么? 什么是JAV…

    编程 2024-10-03
  • mysql数据库性能影响因素,MySQL数据库性能监控及调优

    本文目录一览: 1、扛得住的MySQL数据库架构 2、mysql中哪些因素会影响到查询性能 3、影响数据库性能的因素 4、影响数据库性能的主要因素有哪些? 5、MySQL数据库性能…

    编程 2024-10-29
  • 扫描仪(scanner)的详细介绍

    一、扫描仪的定义 扫描仪,也称为影像输入设备,是一种能够将纸质信息转化为数字信号的设备。其原理是将纸质文件进行扫描,然后对扫描图像进行处理,生成相应的数字化文件。 扫描仪可广泛应用…

    编程 2024-10-04
  • 提高页面交互效果: 使用CSS Selenium move to element技术

    一、简介 在今天的网络世界中,用户对于网站的需求已经不只是简单的浏览,而是希望通过与网站进行人性化的交互来实现自己的需求。然而,在网站设计中,如何提供更好的页面交互效果成为一个需要…

    编程 2024-10-04
  • etcdjava详解

    一、简介 etcdjava是一个基于Java语言的etcd客户端工具库,主要用于在Java项目中以编程方式与etcd v2 API交互。该工具库是由CoreOS公司创建和维护的,是…

    编程 2024-10-04
  • Postman导入JSON文件详解

    一、Postman导入JSON文件报错 在使用Postman导入JSON文件的过程中,如果出现了报错的情况,需要仔细检查JSON文件是否符合规范,比如JSON格式是否正确,键名是否…

    编程 2024-10-11

发表回复

登录后才能评论