<?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ı