სურათის გადაზომვა GD2-ის საშუალებით
სურათის გადაზომვა და ახალი სურათის მიღება
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | function imageResize($filename, $path, $newfilename, $newpath, $newwidth, $newheight) { $image_type = end(explode(".", strtolower($filename))); switch($image_type) { case 'jpg': $source = imagecreatefromjpeg($path.$filename); break; case 'png': $source = imagecreatefrompng($path.$filename); break; case 'gif': $source = imagecreatefromgif($path.$filename); break; default: echo("Error Invalid Image Type"); die; break; } $file = $newfilename . $filename; $fullpath = $newpath . $file; list($width, $height) = getimagesize($path.$filename); if ($width>$height) { $newheight = $height / ($width/$newwidth); } elseif ($height>$width) { $newwidth = $width / ($height/$newheight); } $thumb = imagecreatetruecolor($newwidth, $newheight); imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); imagejpeg($thumb, $fullpath, 60); $filepath = $fullpath; return $filepath; } |
და შემდგომ ვიძახებთ ამ ფუნქციას –
1 | imageResize('image.jpg', 'files', 'trm_', 'trm/', '200', '200'); |
ფუნქცია უზრუნველყოფს სურათის გადაზომვას პროპორციულად. ამის გაკონტროლება ხდება
ფუნქციის ამ ნაწილით
1 2 3 4 5 6 7 | list($width, $height) = getimagesize($path.$filename); if ($width>$height) { $newheight = $height / ($width/$newwidth); } elseif ($height>$width) { $newwidth = $width / ($height/$newheight); } |
წარმატებები