2

我有一堂课。像这样的东西:

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 变量给出的变量是“类型(gd)的资源(7)”

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

4

1 回答 1

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

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

imagedestroy($this->image);
$this->image=$temp;
于 2013-06-30T23:55:38.613 回答