php 保存为png图片,php无法正常保存png图片

php无法正常保存png图片

Jesse

2017-03-10 15:38:00

1030

在进行图片缩放时当保存图片为png时,会出现0字节,无法正常保存图片

例如下面代码://... ...

if ($ratio_w < 1 || $ratio_h < 1) {

//按最小比例缩放

$ratio = min($ratio_w, $ratio_h);

$inter_w = intval($w * $ratio);

$inter_h = intval($h * $ratio);

// 定义一个新的图像

$new_img = imagecreatetruecolor($inter_w, $inter_h);

imagecopyresampled($new_img, $src_img, 0, 0, 0, 0, $inter_w, $inter_h, $w, $h);

switch ($type) {

case IMAGETYPE_JPEG :

// 存储图像

imagejpeg($new_img, $dst_file, 100);

break;

case IMAGETYPE_PNG :

imagepng($new_img, $dst_file, 100);

break;

case IMAGETYPE_GIF :

imagegif($new_img, $dst_file, 100);

break;

default :

break;

}

}

后来仔细查了每个图片处理函数的手册,发现

imagejpeg的范围:从0(最差质量,文件更小)到100(最佳质量,文件最大)。默认为IJG默认的质量值(大约75)。

imagepng的范围:从0(0代表不压缩) 到9(9文件最小,压缩最慢) 或者-1。为-1时,选择默认编译到zlib库中。默认为0。

imagegif没有范围参数

所以上面的imagepng和imagegif都使用错了

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值