Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
12
Cevap
470
Tıklama
0
Öne Çıkarma
getimagesize YARDİM...............................
B
19 yıl
Yüzbaşı
Konu Sahibi

Arkadaşlar dosya upload ederken resimlerin boyutunu istediğim boyuta getirmek istiyorum.getimagesize ile yapılmıs php.net de örnek çok ama eleime geçenlerlede yapamadım nasıl bi mantık kurmalıyım sizce.


Not: fegabj pm göndermistim 2 gün once.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



F
19 yıl
Çavuş

sorularda pm atmayın arkadaşlar yani aslında gördüm sen attıktan çok sonra ama o an zamanınm yoktu daha sonrada unuttum ama soruları buraya yaz bhidayet pmde sadece sen öğrenirsin ama foruma yazarsan herkes görüp öğrenmiş olur.bunu yapman için gd kütüphanesinin 2.0 versiyonunun yüklü olması gerekir vereceğim kodlarda jpeg türü resimleri küçültebilirsin png ve gif'ide kendine göre ayarlarsın dosyanın bulunduğur yerde image adlı bir klasör oluştur resimler o klasöre gidicek yada $resim = "image/".$_FILES["resim"]["name"]; bu kısımdaki image yerine ne yazarsan resim o klasöre gidicektir.
 
<?
function resample($resim,$max_en=150,$max_boy=100)
{
ob_start();

$boyut = getimagesize($resim);
$en = $boyut[0];
$boy = $boyut[1];

$x_oran = $max_en / $en;
$y_oran = $max_boy / $boy;

if (($en <= $max_en) and ($boy <= $max_boy))
{
$son_en = $en;
$son_boy = $boy;
}
else
if (($x_oran * $boy) < $max_boy)
{
$son_en = $max_en;
$son_boy = ceil($x_oran * $boy);
}
else
{
$son_en = ceil($y_oran * $en);
$son_boy = $max_boy;
}
$eski = imagecreatefromjpeg($resim);
$yeni = imagecreate($son_en,$son_boy);

imagecopyresized($yeni,$eski,0,0,0,0,
$son_en,$son_boy,$en,$boy);

imagejpeg($yeni,null,-1);
$icerik = ob_get_contents();
ob_end_clean();
imagedestroy($eski);
imagedestroy($yeni);

return $icerik;
}
//resim yolu
$resim = "image/".$_FILES["resim"]["name"];

if (is_array($_FILES["resim"])){

move_uploaded_file($_FILES["resim"]["tmp_name"],$resim);

$icerik = resample($resim,$max_en,$max_boy);
$dosya = fopen ($resim,"w+");
fwrite($dosya,$icerik);
fclose($dosya);

echo "<img src=".$resim.">";
}
else
{
?>
<html>

<head>
<meta http-equiv="Content-Language" content="tr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>Yeniden Ölçülendir</title>
</head>

<body style="font-family: Tahoma; font-size: 12px">
<form method="POST" enctype="multipart/form-data" action="resize.php">
En: <br><input type="text" name="max_en" size="10" value="150"><br>
Boy: <br><input type="text" name="max_boy" size="10" value="100"><br>
Resim:<br><input type="file" name="resim" size="20"><br>
<br><input type="submit" value="Gönder" name="gonder">
</form>
</body>

</html>
<?
}
?>





< Bu mesaj bu kişi tarafından değiştirildi fegabj -- 28 Ağustos 2006; 11:28:49 >
Bu mesaja 1 cevap geldi.
B
19 yıl
Yüzbaşı
Konu Sahibi

B
19 yıl
Yüzbaşı
Konu Sahibi

ELİMDE BU VAR EKRANDA KÜÇÜK BASTIRIYO AMA BEN KAYDETME İŞİNİ YAPAMADIM

<?php  
//Resmi Yeniden Boyutlandıran Fonksiyonumuz
function boyutlandir($resim,$max_en,$max_boy)
{
ob_start();
// Resmin Boyutunu Alıyoruz
$boyut = getimagesize($resim);
$en = $boyut[0];
$boy = $boyut[1];

// Boyut Oranlarını Belirliyoruz
$x_oran = $max_en / $en;
$y_oran = $max_boy / $boy;

// Resmin Yeni Boyunu Orantılı Şekilde Ayarlıyoruz
if (($en <= $max_en) and ($boy <= $max_boy))
{
$son_en = $en;
$son_boy = $boy;
} else if (($x_oran * $boy) < $max_boy) {
$son_en = $max_en;
$son_boy = ceil($x_oran * $boy);
} else {
$son_en = ceil($y_oran * $en);
$son_boy = $max_boy;
}

// Resim Uzantısını Alıyoruz
$uzantilar = pathinfo($resim);
$uzanti = $uzantilar["extension"];

if ($uzanti == 'gif')
{
$eski = imagecreatefromgif($resim);
} elseif ($uzanti == 'png') {
$eski = imagecreatefrompng($resim);
} else {
$eski = imagecreatefromjpeg($resim);
}
$yeni = imagecreatetruecolor($son_en,$son_boy);

// Eski Resmi Yeniden Örneklendiriyoruz
$renk = imagecolorallocate($yeni,255,255,255);
imagefill($yeni,0,0,$renk);
imagecopyresampled($yeni,$eski,0,0,0,0,$son_en,$son_boy,$en,$boy);

// Yeni Resmi Tarayıcıya Yansıtıyoruz
if ($uzanti == 'gif')
{
header("Content-type: image/gif");
imagegif($yeni,null,100);
} elseif ($uzanti == 'png') {
header("Content-type: image/png");
imagepng($yeni,null,100);
} else {
header("Content-type: image/jpeg");
imagejpeg($yeni,null,100);
}
$icerik = ob_get_contents();

// Temizlik
ob_end_clean();
imagedestroy($eski);
imagedestroy($yeni);

return $icerik;
}

// resim_goster.html den Gelen Resim Değerlerini Alıyoruz
$resim = trim(strip_tags(htmlspecialchars($_GET['resim']))); //Resim Yolu ve Adını Alıyoruz
$en = intval($_GET['en']); // Resim Genişliği
$boy = intval($_GET['boy']); // Resim Yüksekliği
if (empty($en)) $en = 100;
if (empty($boy)) $boy = 80;
//Resmin Olup Olmadığını Kontrol Ediyoruz
if ($resim && file_exists($resim))
{
//Fonksiyonu Çağırıyoruz
echo boyutlandir($resim,$en,$boy);
}
?>
<img src="boyutlandir.php?resim=a.jpg&en=200&boy=150" />


Bu mesaja 1 cevap geldi.
F
19 yıl
Çavuş

verdiğim kodları kullan yeterli


Bu mesaja 1 cevap geldi.
B
19 yıl
Yüzbaşı
Konu Sahibi

Verdiğin kodlar üsteki koyduğum iki resim gibi atıyor.


Bu mesaja 1 cevap geldi.
F
19 yıl
Çavuş

boyutunu kendine göre ayarlayabilirsin bhidayet sen resimi küçültmek istemiyormusun


Bu mesaja 1 cevap geldi.
B
19 yıl
Yüzbaşı
Konu Sahibi

Küçültmek istiyorum ama ikinci koyduğum resim birinci koyduğumla ilgisi yok .Birebir kopyalma yapmıyor.



B
19 yıl
Yüzbaşı
Konu Sahibi

quote:

Orjinalden alıntı: b.hidayet

Küçülttüğü resimleri böyle yapıyor.
ORJİNAL
< Resime gitmek için tıklayın >
KÜÇÜLMÜŞ
< Resime gitmek için tıklayın >

Şu resmler senin verdiğin kodlarla yaptığım uygulama ama küçültülmüş resime bakarsan karmakarışık


Bu mesaja 1 cevap geldi.
F
19 yıl
Çavuş

localdemi deniyosun serverdamı çünkü ben denedim o kodları herhangi bir problem yoktu serverda bir dene birde gd 2.0'mı yüklü ona dikkat et phpinfo() yaparak bakabilirsin gd sürümüne


Bu mesaja 1 cevap geldi.
B
19 yıl
Yüzbaşı
Konu Sahibi

2.0 yüklü. Ama local ile serverde değişirmi işler.


Bu mesaja 1 cevap geldi.
B
19 yıl
Yüzbaşı
Konu Sahibi

HOST DA DA DENEDİM İNE RESMİ KÜÇÜLTÜYOR AMA BOZMA YAPIYOR.


Bu mesaja 1 cevap geldi.
F
19 yıl
Çavuş

o halde localde 2.0 yoktur önemli olan host zaten bu kodları kullan



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.