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


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

我有一个类。类似这样的东西:

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该临时映像变量会给出该变量为"(gd)类型的资源(7)"

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

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

错误的顺序和错误的操作。

imagedestroy($this->image);
$this->image=$temp;
相关文章: