我有一个类。类似这样的东西:
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;