我不明白,因为它给出了这个错误我正在支付参数但仍然在这里产生错误我这个类并使用它作为给出错误的行是108
imagecopyresampled($image, $this->image, 0, 0, 0, 0, $value, $value_versus, $this->width, $this->height);
这是班级
<?php class thumb {
var $image;
var $type;
var $width;
var $height;
//---Método de leer la imagen
function loadImage($name) {
//---Tomar las dimensiones de la imagen
$info = getimagesize($name);
$this->width = $info[0];
$this->height = $info[1];
$this->type = $info[2];
//---Dependiendo del tipo de imagen crear una nueva imagen
switch($this->type){
case IMAGETYPE_JPEG:
##Creamos la marca de agua =)
$imagen1 = imagecreatefromjpeg($name);
$imagen2 = imagecreatefromjpeg( "img/loguito.jpg" );
$imagen3 = imagecreatefrompng( "img/water.png" );
$x = intval( imagesx( $imagen1 ) - imagesx( $imagen2 ) ) / 1.02;
$y = intval( imagesy( $imagen1 ) - imagesy( $imagen2 ) ) / 1.02;
$x2 = intval( imagesx( $imagen1 ) - imagesx( $imagen3 ) ) / 1.02;
$y2 = intval( imagesy( $imagen1 ) - imagesy( $imagen3 ) ) / 1.02;
$x3 = intval( imagesx( $imagen1 ) - imagesx( $imagen3 ) ) / 10.02;
$y3 = intval( imagesy( $imagen1 ) - imagesy( $imagen3 ) ) / 10.02;
imagecopy( $imagen1, $imagen2, $x, $y, 0, 0, 80, 68 );
imagecopy( $imagen1, $imagen3, $x2, $y2, 0, 0, 400, 150 );
imagecopy( $imagen1, $imagen3, $x3, $y3, 0, 0, 400, 150 );
///imagejpeg( $imagen1, 'fotos/ttt'.basename($name) );
$this->image = imagejpeg($imagen1);
//$this->image = imagecreatefromjpeg($name);
break;
case IMAGETYPE_GIF:
$this->image = imagecreatefromgif($name);
break;
case IMAGETYPE_PNG:
$this->image = imagecreatefrompng($name);
break;
}
}
//---Método de guardar la imagen
function save($name, $quality = 100) {
//---Guardar la imagen en el tipo de archivo correcto
switch($this->type){
case IMAGETYPE_JPEG:
imagejpeg($this->image, $name, $quality);
break;
case IMAGETYPE_GIF:
imagegif($this->image, $name);
break;
case IMAGETYPE_PNG:
$pngquality = floor(($quality - 10) / 10);
imagepng($this->image, $name, $pngquality);
break;
}
imagedestroy($this->image);
}
//---Método de mostrar la imagen sin salvarla
function show() {
//---Mostrar la imagen dependiendo del tipo de archivo
switch($this->type){
case IMAGETYPE_JPEG:
imagejpeg($this->image);
break;
case IMAGETYPE_GIF:
imagegif($this->image);
break;
case IMAGETYPE_PNG:
imagepng($this->image);
break;
}
imagedestroy($this->image);
}
//---Método de redimensionar la imagen sin deformarla
function resize($value, $prop){
//---Determinar la propiedad a redimensionar y la propiedad opuesta
$prop_value = ($prop == 'width') ? $this->width : $this->height;
$prop_versus = ($prop == 'width') ? $this->height : $this->width;
//---Determinar el valor opuesto a la propiedad a redimensionar
$pcent = $value / $prop_value;
$value_versus = $prop_versus * $pcent;
//---Crear la imagen dependiendo de la propiedad a variar
$image = ($prop == 'width') ? imagecreatetruecolor($value, $value_versus) : imagecreatetruecolor($value_versus, $value);
//---Hacer una copia de la imagen dependiendo de la propiedad a variar
switch($prop){
case 'width':
imagecopyresampled($image, $this->image, 0, 0, 0, 0, $value, $value_versus, $this->width, $this->height);
break;
case 'height':
imagecopyresampled($image, $this->image, 0, 0, 0, 0, $value_versus, $value, $this->width, $this->height);
break;
}
//---Actualizar la imagen y sus dimensiones
//$info = getimagesize($name);
$this->width = imagesx($image);
$this->height = imagesy($image);
$this->image = $image;
}
//---Método de extraer una sección de la imagen sin deformarla
function crop($cwidth, $cheight, $pos = 'center') {
//---Hallar los valores a redimensionar
$new_w = $cwidth;
$new_h = ($cwidth / $this->width) * $this->height;
//---Si la altura es menor recalcular por la altura
if($new_h < $cheight){
$new_h = $cheight;
$new_w = ($cheight / $this->height) * $this->width;
}
$this->resize($new_w, 'width');
//---Crear la imagen tomando la porción del centro de la imagen redimensionada con las dimensiones deseadas
$image = imagecreatetruecolor($cwidth, $cheight);
switch($pos){
case 'center':
imagecopyresampled($image, $this->image, 0, 0, abs(($this->width - $cwidth) / 2), abs(($this->height - $cheight) / 2), $cwidth, $cheight, $cwidth, $cheight);
break;
case 'left':
imagecopyresampled($image, $this->image, 0, 0, 0, abs(($this->height - $cheight) / 2), $cwidth, $cheight, $cwidth, $cheight);
break;
case 'right':
imagecopyresampled($image, $this->image, 0, 0, $this->width - $cwidth, abs(($this->height - $cheight) / 2), $cwidth, $cheight, $cwidth, $cheight);
break;
case 'top':
imagecopyresampled($image, $this->image, 0, 0, abs(($this->width - $cwidth) / 2), 0, $cwidth, $cheight, $cwidth, $cheight);
break;
case 'bottom':
imagecopyresampled($image, $this->image, 0, 0, abs(($this->width - $cwidth) / 2), $this->height - $cheight, $cwidth, $cheight, $cwidth, $cheight);
break;
}
$this->image = $image;
}}?>
这就是我使用的方式
$mythumb = new thumb();$mythumb->loadImage($path);$mythumb->resize($ancho, 'width');$mythumb->show();