PHP ile Resim Boyutlandırma

Bazen resimler istediğimiz boyutta olmuyor. Yeniden boyutlandırmak gerekebilir. Bunun için en kolay sınıflardan biri olan SimpleImage sınıfı imdadınıza yetişiyor. Dosya yolunu girdiğiniz resimlerin genişliklerini ve yüksekliklerini düzenleyebilir, en boy oranlarını korur, yüzdeli ölçeklendirme yapabilir veya tüm bunları manuel olarak belirleyip php ile yeniden eklemeyi sağlayabilirsiniz.

SimpleImage Sınıf Kodları

<?php
/* * File: SimpleImage.php * Author: Simon Jarvis */
class SimpleImage { var $image; var $image_type; function load($filename) { $image_info = getimagesize($filename); $this->image_type = $image_info[2]; if( $this->image_type == IMAGETYPE_JPEG ) { $this->image = imagecreatefromjpeg($filename); } elseif( $this->image_type == IMAGETYPE_GIF ) { $this->image = imagecreatefromgif($filename); } elseif( $this->image_type == IMAGETYPE_PNG ) { $this->image = imagecreatefrompng($filename); } } function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image,$filename,$compression); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image,$filename); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image,$filename); } if( $permissions != null) { chmod($filename,$permissions); } } function output($image_type=IMAGETYPE_JPEG) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image); } } function getWidth() { return imagesx($this->image); } function getHeight() { return imagesy($this->image); } function resizeToHeight($height) { $ratio = $height / $this->getHeight(); $width = $this->getWidth() * $ratio; $this->resize($width,$height); } function resizeToWidth($width) { $ratio = $width / $this->getWidth(); $height = $this->getheight() * $ratio; $this->resize($width,$height); } function scale($scale) { $width = $this->getWidth() * $scale/100; $height = $this->getheight() * $scale/100; $this->resize($width,$height); } function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight()); $this->image = $new_image; }
}
?>

Örnek Kullanım

Yukarıda belirtilen kodları bir dosyaya kopyalıyoruz ve ismini SimpleImage.php olarak kaydediyoruz. Sonrasında bunu include fonksiyonu ile ilgli yere çağırabilirsiniz.1-) Genişlik ve yükseklik ayarlama:

<?php include('SimpleImage.php'); $image = new SimpleImage(); $image->load('resim.jpg'); $image->resize(500,800); $image->save('resim2.jpg');
?>

2-) Genişlik belirterek oranları koruyarak resmi ayarlama:

<?php include('SimpleImage.php'); $image = new SimpleImage(); $image->load('resim.jpg'); $image->resizeToWidth(300); $image->save('resim2.jpg');
?>

3-) Belirli bir yüzde ile küçültme:

<?php include('SimpleImage.php'); $image = new SimpleImage(); $image->load('resim.jpg'); $image->scale(30); $image->save('resim2.jpg');
?>

4-) Farklı yükseklikte ve farklı isimle yeniden ekleme:

<?php include('SimpleImage.php'); $image = new SimpleImage(); $image->load('resim.jpg'); $image->resizeToHeight(400); $image->save('resim2.jpg'); $image->resizeToHeight(250); $image->save('resim3.jpg');
?>

İşinize yarayacağını düşünüyorum. Merak ettiğiniz ya da takıldığınız yerleri konu altına yorum atarak paylaşabilirsiniz. En yakın sürede yanıtlamaya çalışacağım.

İnternet ve yazılım dünyası ile 2002 yılında Ankara Armada Alışveriş Merkezi Bilgi İşlem departmanında tanıştım. Visual BASIC dili ile yola çıktığım yazılım dünyası serüvenim 2002-2004 yıllarında C, C++ dilleri ile devam etti.

1 yorum On PHP ile Resim Boyutlandırma

Bir şeyler söyleyin:

E-posta adresiniz kimse ile paylaşılmayacaktır. Sadece ben rahatsız ederim.