Resim boyutu değiştirme
www.sonsuzdongu.com/ss için ufak bir galeri scripti yazıyordum (boş bir zamanda beedon'a da bir galeri modülü yazsam iyi olur). Bir klasör içindeki resimlerin belli boyutlarda thumbnail'larını oluşturmalıydım. Aşağıdaki kod verilen $en ve $boy değerlerine göre $büyük klasörü içindeki resimlerin boylarını düzenleyip $kucuk klasorüne kaydediyor.
Not: Script için php-gd kütüphanesine sahip olmalısınız


<?
//klasordeki png ve jpeg'leri boyutlandıran bir script
// Osman Yüksel 28.03.2005

$en 400;  //resimlerin yeni eni
$boy 300;  //resimlerin yeni boyu
$buyuk "buyuk/";  //ana resimlerin bulunduğu klasor
$kucuk "kucuk/";  //kucultulecek resimlerin olacağı klasor

if (!file_exists($kucuk)) {//eğer klasor yoksa
echo "$kucuk klasoru yok"
exit;
#if
if (!file_exists($buyuk)) {//eğer klasor yoksa
echo "$buyuk klasoru yok"
exit;
#if
if (!is_writeable($kucuk)) { //eğer klasore yazma izni yoksa
echo "$kucuk klasorune yazma izniniz bulunmuyor"
exit;
#if



//$buyuk icindeki dosyaları al boyutunu değiştirip $kucuk icine kaydet
$klasor = @opendir($buyuk);
while (
$dosya readdir($klasor)) { //her dosya için
    // eğer uzantı jpg veya png ise ve bu bir klasor değilse
    
if($dosya == "." || $dosya == ".." || is_dir($buyuk.$dosya) ||
    (!
preg_match("/.jpg/",$dosya) AND !preg_match("/.png/",$dosya))) continue;

    
$fp = @fopen($buyuk.$dosya,"r");  //dosyayı aç
    
$ozellik = @GetImageSize($buyuk.$dosya); //resmin özelliklerini al
    
$tur $ozellik[2];  //resmin tipi  2 = jpeg , 3 = png

    
if ($tur=="2") { //eğer jpeg ise
    
echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... ";
    
$kaynak imagecreatefromjpeg($buyuk.$dosya); //jpegden dosyayı al
    
$hedef imagecreatetruecolor($en,$boy);  //true colour olarak yeni bir resim oluştur
    //kaynağın boyutunu değiştirip $hedefe yaz
    
imagecopyresized($hedef,$kaynak,0,0,0,0,$en,$boy,imagesx($kaynak),imagesy($kaynak));
    
//hedefi dosyaya yaz
    
imagejpeg($hedef$kucuk.$dosya);
    echo 
"[Tamam]<br>";
    } 
#else
    
elseif  ($tur=="3") { //eğer png ise
    
echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... ";
    
$kaynak=ImageCreateFrompng($buyuk.$dosya); //png'den dosya al
    
$hedef=ImageCreatetruecolor($en,$boy); //true colour olarak yeni bir resim oluştur
    //kaynağın boyutunu değiştirip $hedefe yaz
    
ImageCopyResized($hedef,$kaynak,0,0,0,0,$en,$boy,ImageSX($kaynak),ImageSY($kaynak));
    
//hedefi dosyaya yaz
    
Imagepng($hedef$kucuk.$dosya);
    echo 
"[Tamam]<br>";
    } 
#elseif
    
@fclose($fp); //dosyayı kapat
#while
?>


28.Mart.2005 Pazartesi :: 13:32:31   65910 kere okundu

Konular
Ben {122}
Sinema {24}
php/web {44}
Link {58}
Debian {26}
Opera {39}
Müzik {70}
KDE {7}
Qt {12}

[Konular]


Takvim
<  Kasım 2024  >
PSÇPCCtPz
123
45678910
11121314151617
18192021222324
252627282930


Temalar
dx
darksight
yesilozAskerEdition
yellos
uira
default
opera
greeny
xmas
yesiloz
yesilozHtml5

Es Dost
Altan
Tuğrul
Selçuk
Timu
Mehmet
Ünal
Gökhan
Koray Taylan
Yaşar
Özgür
Orhan
Kemali
Ahmet
Emrah
Kıvanç
BilgiFrekans
Bünyamin
Bedava Site

Gez Gör Arpacık
Opera Türkiye
Uira
Ma"Cess"teleri


Projeler
Beedon
sozluQ
qPod
SourPHP
Ekşigator
Ekşigator-qt
Soccer Madness