Ole Moe <ojo@ofir.dk> skrev i
dk.edb.internet.webdesign.serverside.php:
>1. Er der nogen af jer der kender en eller flere (gode) tutorails
>der omhandler klasser og PHP.
Der er vist nogle på PHPBuilder:
http://www.phpbuilder.com/columns/index.php3?cat=6&subcat=38
Men ellers synes jeg ikke, at det er overvældende, hvad jeg har kunnet
finde om emnet.
>2. Jeg er gået i gang med at lave min første klasse, men den vil
>ikke helt som jeg synes den skal...!
Din fejl har så vidt jeg kan se ikke noget at gøre med, at den bruges
inde i en klasse.
>Jeg har følgende, der behandler et billede og gør det større
>eller mindre. Det virker hvis jeg bruger det direkte i filen:
>class galleri {
>var $prefix, $sti, $fil, $max_size;
>
>   function make_image($sti, $fil, $max_size, $prefix) {
>      $this->image = $sti . $fil;
>      $image_out = $sti . $prefix . $fil;
>      $size = getimagesize($image);
>      $src_width = $size[0];
>      $src_height = $size[1];
>      $type = exif_imagetype($image);
>      if($type==2){
>         $src_img = imagecreatefromjpeg($image); 
>      } else if($type==3){
>         $src_img = imagecreatefrompng($image); 
>      }
>
>      if($src_height <= $max_size || $src_width <= $max_size){
>         $dest_height = $src_height;
>         $dest_width = $src_width;
>      } else {
>         $faktor = $src_height/$max_size;
>         $faktor1 = $src_width/$max_size;
>         if($faktor < $faktor1){
>            $faktor = $faktor1;
>         }
>         $dest_width = $size[0]/$faktor;
>         $dest_height = $size[1]/$faktor;
>      }
>      $dst_img = imagecreatetruecolor($dest_width,$dest_height); 
Her glemmer du at teste om du får oprettet en gyldig image-ressouce,
som du anvender som første parameter i næste linie:
>      imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,
>$dest_height, $src_width, $src_height); 
Derfor fremkommer denne warning:
>Warning: imagecopyresampled(): supplied argument is not a valid
>Image resource in F:\root\nys\galleri.class.php on line 32
>      imagejpeg($dst_img, $image_out, 100); 
>      imagedestroy($dst_img);
Her får du så 
>Warning: imagecopyresampled(): supplied argument is not a valid
>Image resource in F:\root\nys\galleri.class.php on line 32
idet du stadig ikke har en gyldig ressource.
>       imagedestroy($src_img); 
>   }
>}
Jeg kan ikke lige gennemskue, HVOR det præcis går galt i din kode, men
noget er i hvert fald galt i denne linie:
>      $size = getimagesize($image);
Her henter du jo størrelsen på et billeder, der ikke eksisterer. Måske
du skulle skrive
      $size = getimagesize($this->image);
i stedet.
-- 
Jens Tønnesen - 
http://www.pressefoto.dk