Warning: imagecopyresampled() expects parameter 2 to be resource, null given in E:\demo\test01\image\image.class.php on line 21

来源:5-1 封装成类—压缩图片

wangping1985

2015-02-25 09:52

<?php

class Image{

private $image;

private $info;

public function _construct($src)

{

$info = getimagesize($src);

$this->info = array(

'width'=>$info[0],

'height'=>$info[1],

'type'=>image_type_to_extension($this->info[2],false),

'mime'=>$info['mime']

);

$fun = "imagecreatefrom{$this->info['type']}";

$this->image = $fun($src);


}

public function thumb($width,$height)

{

$image_thumb = imagecreatetruecolor($width,$height);

imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']);

imagedestroy($this->image);

$this->image = $image_thumb;

}

public function show()

{

header("Content-type:".$this->info['mime']);

$func = "image{$this->info['type']}";

$func($this->image);

}

public function save($newname)

{

$func = "image{$this->info['type']}";

    $func($this->image,$newname.'.'.$this->info['type']);

}

public function destruct()

{

imagedestroy($this->image);

}

}

?>


写回答 关注

2回答

  • BobWang
    2015-02-26 22:25:17
    已采纳

    同学你好,代码中有三处地方稍微有点问题:

        1.'type'=>image_type_to_extension($this->info[2],false) 这个地方应该修改为                 'type'=>image_type_to_extension($info[2],false),因为这个时候我们只有$info还没有$this->info;

        2.构造函数和析构函数前面的下滑线是两根,也就是 __construct和__destruct.

    希望我的回答对你有帮助,谢谢

    wangpi...

    非常感谢!

    2015-02-26 22:30:28

    共 2 条回复 >

  • wangping1985
    2015-02-25 10:34:29

    帮解决

GD库实现图片水印与缩略图

带你快速高效的完成图片处理工作,还可以加深对面向对象的理解

19006 学习 · 162 问题

查看课程

相似问题