警告:imagedestroy():7不是有效的Image资源

时间:2013-06-30 22:13:24

标签: php oop gd

我上课了。像这样:

class graphic{
 private $image;
 private $width;
 private $height;
 function __construct(...){
  $this->image=imagecreatetruecolor(...);
 }
 ...
 function resize($width,$height){
  $temp=imagecreatetruecolor($width,$height);
  imagecopyresampled($temp,$this->image,
   0,0,0,0,
   $width,$height,
   $this->width,$this->height
  );
  $this->image=$temp;
  imagedestroy($temp);
  ...
 }
}

当我需要创建一个调整大小的图像时,我做同样的事情。唯一不同的是现在我正试图在课堂上这样做。这是我的所作所为:

我在课堂上有一张图片。我正在创建一个临时图像,我从类字段中复制重新采样的图像。然后我使用简单的“=”赋值将我的临时图像内容替换为类字段内容。然后,当我尝试删除我的临时图像时,我收到警告:

Warning: imagedestroy(): 7 is not a valid Image resourceWarning: imagedestroy(): 7 is not a valid Image resource

vardumping temp-image变量赋予该变量“type(7)of type(gd)”

我做错了什么,为什么会出现这种警告?

1 个答案:

答案 0 :(得分:4)

$this->image=$temp;
imagedestroy($temp);

订单错误,操作错误。

imagedestroy($this->image);
$this->image=$temp;