<?php class Resim{ var $gecerliuzantilar = array(".jpg",".gif",".png"); var $kalite = 100; var $resimadres; var $resimnesne; var $Resimtip; var $resimboyutlandir; function Resim($Resim){ if($this->IsResim($Resim)){ $this->getirResimtip($Resim); $this->resimadres = $Resim; $this->olustur(); return true; }else{ return false; } } function __destruct(){ if($this->IsResim($this->resimadres)){ imagedestroy($this->resimnesne); if(!empty($this->resimboyutlandir)){ imagedestroy($this->resimboyutlandir); } } } function olustur(){ switch($this->Resimtip){ case ".gif": $this->resimnesne = imagecreatefromgif($this->resimadres); break; case ".jpg": $this->resimnesne = imagecreatefromjpeg($this->resimadres); break; case ".png": $this->resimnesne = imagecreatefrompng($this->resimadres); break; } } function Resize($yuzde){ list($genislik, $yukseklik) = getimagesize($this->resimadres); $yenigenislik = intval(($genislik * $yuzde) / 100); $yeniyukseklik = intval(($yukseklik * $yuzde) / 100); if($yenigenislik == 0){$yenigenislik++;} if($yeniyukseklik == 0){$yeniyukseklik++;} $this->resimboyutlandir = imagecreatetruecolor($yenigenislik, $yeniyukseklik); imagecopyresampled($this->resimboyutlandir, $this->resimnesne, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $genislik, $yukseklik); switch($this->Resimtip){ case ".gif": imagegif($this->resimboyutlandir,$this->resimadres); break; case ".jpg": imagejpeg($this->resimboyutlandir,$this->resimadres,$this->kalite); break; case ".png": imagepng($this->resimboyutlandir,$this->resimadres); break; } } function ResizeWH($W,$H){ if($this->IsResim($this->resimadres)){ list($genislik, $yukseklik) = getimagesize($this->resimadres); $yenigenislik = $W; $yeniyukseklik = $H; $this->resimboyutlandir = imagecreatetruecolor($yenigenislik, $yeniyukseklik); imagecopyresampled($this->resimboyutlandir, $this->resimnesne, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $genislik, $yukseklik); switch($this->Resimtip){ case ".gif": imagegif($this->resimboyutlandir,$this->resimadres); break; case ".jpg": imagejpeg($this->resimboyutlandir,$this->resimadres,$this->kalite); break; case ".png": imagepng($this->resimboyutlandir,$this->resimadres); break; } } } function IsResim($File){ if($this->Resimvarmi($File)){ $uzantis = implode(",",$this->gecerliuzantilar); $uzanti = strtolower(substr ($File, strrpos ($File, "."))); $this->uzanti = $uzanti; return $uzanti; $this->gecerliuzantilar = explode(",",strtolower($uzantis)); if(!empty($this->gecerliuzantilar)){ if(!in_array($this->getiruzanti(),$this->gecerliuzantilar)){ return false; }else{ return true; } }else{ return true; } }else{ return false; } } function Resimvarmi($Resim){ if(file_exists($Resim)){ return true; }else{ return false; } } function getirResimtip($Resim){ if($this->IsResim($Resim)){ $uzanti = strtolower(substr ($Resim, strrpos ($Resim, "."))); switch($uzanti){ case ".gif": $this->Resimtip = ".gif"; break; case ".jpg": $this->Resimtip = ".jpg"; break; case ".png": $this->Resimtip = ".png"; break; default: return false; break; } } } } $t1=new Resim("test1.jpg");//150x100 5,21 KB echo '<img src="test1.jpg">'; $t1->ResizeWH(100,100);//100x100 10,2 KB echo '<img src="test1.jpg">'; $t2=new Resim("test2.jpg");//150x100 5,21 KB echo '<img src="test2.jpg">'; $t2->Resize($yuzde=80);//120x80 10,3 KB echo '<img src="test2.jpg">'; ?>
Çıktısı