Salve. Ho trovato questa classe sul forum. Purtroppo permette solo di impostare l'altezza ma me serve che l'immagine generata stia in un quadrato di n lunghezza di lato. Ho preparato la funzione ed ho provato ad inserirla ma non funziona.
Posto sia la funzione che ho creato che la classe modificata e la classe non modificata così potete avere tutto a disposizione:
MIA FUNZIONE
CLASSE MODIFICATAcodice:function GetHeight ($height , $width, $side) { if ($height > $width) { return $side; } elseif ($height < $width) { $side = ($height*$side)/$width; return $side; } }
CLASSE ORIGINALEcodice:class Image { var $src_filename; var $src_witdh; var $src_height; var $src_type; var $src_attr; var $src_image; function Image($filename) { $this->src_filename = $filename; $this->GetImageInfo(); } function GetImageInfo() { list($this->src_width,$this->src_height, $this->src_type, $this->src_attr) = getimagesize($this->src_filename); } function CreateSourceImage() { switch ($this->src_type) { case 1: $this->src_image =imagecreatefromgif($this->src_filename); break; case 2: $this->src_image =imagecreatefromjpeg($this->src_filename); break; case 3: $this->src_image =imagecreatefrompng($this->src_filename); break; default: return false; } return true; } function GetHeight ($side) { if ($this->src_height > $this->src_width) { return $height; } elseif ($this->src_height < $this->src_width) { $height = ($this->src_height*$side)/$this->src_width; return $height; } } function SaveProportionateImage($filename, $quality, $this->height) { $dest_height = $height; $ratio = $this->src_height / $dest_height; $dest_image = imagecreatetruecolor( $this->src_width / $ratio,$dest_height); imagecopyresampled($dest_image, $this->src_image, 0, 0, 0, 0,$this->src_width / $ratio,$this->src_height / $ratio,$this->src_width,$this->src_height); imagejpeg($dest_image, $filename, $quality); imagedestroy($dest_image); } function Free() { imagedestroy($this->src_image); } }
Spero che qualcuno mi possa aiutare perchè io non ci sto capendo più niente!codice:class Image { var $src_filename; var $src_witdh; var $src_height; var $src_type; var $src_attr; var $src_image; function Image($filename) { $this->src_filename = $filename; $this->GetImageInfo(); } function GetImageInfo() { list($this->src_width,$this->src_height, $this->src_type, $this->src_attr) = getimagesize($this->src_filename); } function CreateSourceImage() { switch ($this->src_type) { case 1: $this->src_image =imagecreatefromgif($this->src_filename); break; case 2: $this->src_image =imagecreatefromjpeg($this->src_filename); break; case 3: $this->src_image =imagecreatefrompng($this->src_filename); break; default: return false; } return true; } function SaveProportionateImage($filename, $quality, $height) { $dest_height = $height; $ratio = $this->src_height / $dest_height; $dest_image = imagecreatetruecolor( $this->src_width / $ratio,$dest_height); imagecopyresampled($dest_image, $this->src_image, 0, 0, 0, 0,$this->src_width / $ratio,$this->src_height / $ratio,$this->src_width,$this->src_height); imagejpeg($dest_image, $filename, $quality); imagedestroy($dest_image); } function Free() { imagedestroy($this->src_image); } }

					
					
					
						
  Rispondi quotando
						
						
						