|
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 |
|
|
Takvim |
|
|
< Kasım 2024 > |
P | S | Ç | P | C | Ct | Pz |
| | | | 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 |
|
|
|
|
|
|