php如何调整图片,php 调整图片大小函数

问:有一个文件resized.php 和一个图片pic.jpg

它们在同一个目录下,pic.jpg的宽是300px;高300px

我要在resized.php写一程序重新调pic.jpg的大小,

并且生成调整大小后的的图片pic2.jpg

请问应该用那个函数,怎样写?

(越简单越好,请不要复制网上那几个调整大小的函数上来,谢谢)

答:

PHP有这样的函数吗,我不太清楚,如果有,是不是要加载一系列的DLL呢,我建议不要用PHP的函数来做这个。

我建议使用“ImageMagick”工具来做这些事情,中文网站:http://www.imagemagick.com.cn/

ImageMagick可以做许许多多的功能:它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。通常来说,它可以支持以下程序语言: Perl, C, C++, Python, PHP, Ruby, Java;现成的ImageMagick接口(PerlMagick, Magick++, PythonMagick, MagickWand for PHP, RubyMagick, and JMagick)是可利用的。这使得自动的动态的修改创建图片变为可能。ImageMagick支持至少90种图片格式:。

图片转换的核心文件是CONVERT.EXE,利用这个文件,使用PHP的SYSTEM调用,可以完成各种图片文件的变换。我网站的程序里面把用户上传图片宽度大于800的调整为800的语句如下:

1a1e74fe1f5f77643c47350aa85b9771.png

345acffa47cef82b0f643f5a5d63d071.png

代码

$imginfo

=

getimagesize

(

$tmp_name

);

if

(

$imginfo

&&

$imginfo

[

0

]

>

0

){

//

压缩宽度超过800的图片为800,10K以上的JPG图片用30%进行压缩

if

(

$imginfo

[

0

]

>

800

){

echo

"

你上传的图片幅面为

$imginfo

[0] x

$imginfo

[1] ,将被压缩到800个象素宽。

"

;

system

(

'

"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"

'

.

"

-sample 800 -quality 80

$tmp_name

$tmp_name

"

);

}

elseif

(

$imginfo

[

2

]

==

2

&&

$src_size

>

10240

)

system

(

'

"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"

'

.

"

-quality 30

$tmp_name

$tmp_name

"

);

//

压缩BMP、TIFF文件为JPG格式

if

(

$imginfo

[

2

]

==

6

||

$imginfo

[

2

]

==

7

||

$imginfo

[

2

]

==

8

){

system

(

'

"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"

'

.

"

-quality 80

$tmp_name

$tmp_name

.jpg

"

);

rename

(

"

$tmp_name

.jpg

"

,

$tmp_name

);

$ext

=

'

jpg

'

;

}

}

本人已经用过了,挺好用的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值