İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Resim küçültme

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Merhaba arkadaşlar,
aşagıdaki kodlar ile sitemde mevcut olan resimleri başka bir klasore kopyalayıp kücük halini oluşturmaya çalışıyorum. Sorun cıktı hata mesajı veriyor bir bakarsanız sevinirim.

Teşekkurler

PHP:
<?php
$resimad = $_GET[resimad];
$dosya = "../resimler/".$resimad."";

// KAYNAK YARAT
$kaynak = imagecreatefromjpeg($dosya);   // EGER GIF ISE imagecreatefromgif()

// BOYUT BUL
$size = getimagesize($dosya);

// THUMB'A SABIT BIR GENISLIK VERIP BOYUT ORANINI KORUYORUZ
$yenigenislik = "100";
$oran = $size[0] / $size[1];
$yeniyukseklik = $yenigenislik / $oran;

// ORANI TUTMAK ISTEMIYORSAK ASAGIDAKI SATIRI ACIP DUZENLERIZ
$yeniyukseklik = "100";


$thumb = imagecreatetruecolor($yenigenislik,$yeniyukseklik);
imagecopyresized($thumb, $kaynak, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $size[0], $size[1]);

$hedefdosya = "../resimler/kucuk/".$resimad."-th.jpg"; 
// KAYDET
imagejpeg($thumb,$hedefdosya);  // VEYA IMAGEGIF 
?>
 

BordoMavi

0
İyinet Üyesi
Katılım
31 Ekim 2007
Mesajlar
176
Reaction score
0
Konum
Hirçın Sulardan
$resimad = $_GET[resimad]; burayı

$resimad = $_GET[resimad_name]; bu şekilde


$dosya = "../resimler/".$resimad.""; burayı

$dosya = "$resimad.jpg"; bu şekilde


$hedefdosya = "../resimler/kucuk/".$resimad."-th.jpg"; bunu

$hedefdosya="../resimler/"; bu şekilde yap


imagejpeg($thumb,$hedefdosya); bunuda


Imagejpeg($thumb,$hedefdosya.$dosya,100); bu şekilde bi değiştir. çalışması gerekir diye düşünüyorum. eğer gene çalışmazsa bana özel mesaj at halledelim.


birde unutmadan

// THUMB'A SABIT BIR GENISLIK VERIP BOYUT ORANINI KORUYORUZ
$yenigenislik = "100";
$oran = $size[0] / $size[1];
$yeniyukseklik = $yenigenislik / $oran;

bu kısım boyut oranını korumaz birebir küçültme yapmaz.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Daha önce çalışmamasının sebebi dosya uzantısının gif olmasıymış.
bunu nasıl gif ve png uzantılarına destekleceyecek şekilde yapabiliriz?
 

Grafix

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
1,153
Reaction score
0
Konum
Bursa
// KAYNAK YARAT
$kaynak = imagecreatefromjpeg($dosya); // EGER GIF ISE imagecreatefromgif()

// KAYDET
imagejpeg($thumb,$hedefdosya); // VEYA imagegif()

verdiğin kodlarda yazıyor zaten arkadaşım?
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Sadece jpeg olanı mevcut gif,png olanı mevcut degil. Yani png veya gif uzantılı resim oldugunda sorun yaratıyor.
 

OnurSQL

0
İyinet Üyesi
Katılım
29 Mart 2005
Mesajlar
2,025
Reaction score
1
Konum
ankara
$kaynak ve $size değişkenlerinin yerini değiştir. getimagesize ile aynı zamanda resim formatını belirleyebilirsin.

PHP:
  $size = getimagesize($dosya);
  switch ($size[2]) {
    case 1: $kaynak = imagecreatefromgif($dosya); break;
    case 2: $kaynak = imagecreatefromjpeg($dosya);  break;
    case 3: $kaynak = imagecreatefrompng($dosya; break;
    default:  trigger_error('Bu resmin formatı bulunamadı.', E_USER_WARNING);  break;
  }

Diğer işlemleride bu şekilde yaparsan problem yaşamazsın.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Bu kod benim yazdığım bir kod. Gif için örneğini comment olarak eklemiştim zaten bu soru sorulur diye.

imagegif() , imagecreatefromgif()
imagepng(), imagecreatefrompng() yapılacak.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Bu kod benim yazdığım bir kod. Gif için örneğini comment olarak eklemiştim zaten bu soru sorulur diye.

imagegif() , imagecreatefromgif()
imagepng(), imagecreatefrompng() yapılacak.

angele tam olarak ne yapmam gerekli :S

onursql dedigini yaptıgımda gif resimlerdeki beyaz kısımlar siyah oluyor jpg cevrildiginden dolayı
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Anlayamadım, neyin yerine ne yazacağınız yazıyor orada. Herşey hazır verilmiş, biraz gayret edin lütfen.

//$kaynak = imagecreatefromjpeg($dosya); // EGER GIF ISE imagecreatefromgif()
yerine
$kaynak = imagecreatefromgif($dosya);



//$hedefdosya = "../resimler/kucuk/".$resimad."-th.jpg";
//imagejpeg($thumb,$hedefdosya); // VEYA IMAGEGIF
yerine
$hedefdosya = "../resimler/kucuk/".$resimad."-th.gif";
imagegif($thumb,$hedefdosya);


Olacak.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst