PHP Resim İşlemleri GD kütüphanesi.

nssasmazNursin ŞaşmazAvatar

Merhabalar;

Hocam bir sitede makale listesinde phpkodlari.com ana sayfasındaki yeni dersler listesi gibi resimli makale listesi olacak. Fakat resimlerin boyları problem oluyor.

Resim alanım 200*180 ama daha büyük gelen resimler daralıp orantısı bozuluyor hiçbir anlam ifade etmeyen resimler haline geliyor.

Bunun PHP ile yapılabilcek bir çaresi yokmudur. gelen resmin boyutunu öğrenip ona göre orantılı küçültme falan resimden kesme işlemi var ama kesmeden bu orantıyı sağlamalıyız.

Gitme vakti gelince gitmek mi zordur kalmak mı?
2010-03-05 11:04:21

pratik

1- php ile resmi kırparak yeniden boyutlandırırsın. benim tercihim.

2- <img src="resim.jpg" width="200"> yazarsanız ve height vermezsin. böylece yüksekliği ona göre oranlanır.

Her programcı birgün Php yi tadacaktır
2010-03-05 14:40:05

nssasmazNursin ŞaşmazAvatar

2. yöntemi denedimde orantıyı koruduğumda durum çok farklı oluyor. genişliği korusam sağdan soldan alan oynama oluyor.

yüksekliği korusam bu defa resmin boyutuna göre alta atıyor yanındaki yazıyı.

peki hocam şu kırpma metodunu nasıl kullanacağım.

Gitme vakti gelince gitmek mi zordur kalmak mı?
2010-03-05 18:37:10

Edit:

tüm sorunlarının çözümü

KunthMesut Cemil ASLANAvatar

ekteki dosyayı include et

kullanılışı :


$savepath = 'images/';
$name = 'resimin_adi.jpg';
$myres = new MCAresim($_FILES['resim']['tmp_name'][$key]);
$myres->auto(200,180);
$myres->kaydet($savepath.$name);

class içindeki tüm fonksiyonlar ve özellikleri :


$resim = new new MCAresim($_FILES['resim']['tmp_name'][$key]);
yeni bir nesne oluştur, içine orjinal resmi yükle.

Yukarıdaki örnek form ile yüklenen resim adlı bir resmi class a yükler

info fonksiyonu :
parametre : tip
varsayilan : ""

kullanılışı: $resim->info();
resim için getimagesize değerini döndürür
$resim->info("en");
resmin enini döndürür
$resim->info("boy");
resmin boyunu döndürür

kirp fonksiyonu
parametre : bX , bY, kEn, kBoy
varsayilan : 0 , 0, 100, 100

kullanılışı : $resim->kirp(50,50,70,150);
resmin içinden bX, by koordinatlarından başlayarak kEn, kBoy ebatında parça kırpar ve parçayı geri döndürür.

kucult fonksiyonu
parametre : hEn, hBoy
varsayılan: 100,100

kullanılışı : $resim->kucult(200,100);
resmi verilen ölçüye küçültür. bu küçültme yapılırken resmin en boy oranı bozulabilir.

auto fonksiyonu
parametre : hEn, hBoy
varsayılan : 100,100

kullanılışı: $resim->auto(120,120);
resmi verilen ölçüye küçültür, küçültme yaparken en boy oranına göre gerekirse resmin yanlarından veya alt-üstünden otomatik olarak kırpma yapar. resimlerin en boy oranını bozmadan farklı ölçüye küçültülmesi için mükemmeldir.

kaydet fonksiyonu
parametre : nName, nPath
varsayılan : mca.jpg , ./

kullanılışı: $resim->kaydet('benimresmim.jpg','resimklasoru');
yurakıdaki fonksiyonlardan biri ile oluşturulmuş olan resmi kayıt eder, kayıt için resim adı ve klasör yolunu vermeniz gerekir.

Not : class sadece jpg resimleri desteklemektedir. gif, png, bmp gibi formatları işlemez.

Ekteki dosya :

Dosya indir : mcaresim.rar

Kunth, just kunth...
2010-03-07 12:40:53 Edit:2010-03-07 13:00:45

nssasmazNursin ŞaşmazAvatar

Çok sağolun hocam çok işe yaradı. Zaten dosyanın başındaki CLASS yazısı adamı cezbediyor..

Söylemeden de edemem. smiley Alttaki notu gördüğümde başım döndü bi an. smiley

Not : class sadece jpg resimleri desteklemektedir. gif, png, bmp gibi formatları işlemez.
Gitme vakti gelince gitmek mi zordur kalmak mı?
2010-03-31 10:35:06

KunthMesut Cemil ASLANAvatar

nursin png bmp ve gif özelliği çok kolayca eklenebilir. ben öylesine hızlıca yazmıştım bunu... :D

Kunth, just kunth...
2010-03-31 13:32:54

nssasmazNursin ŞaşmazAvatar

farkettim hocam teşekkür ederimm..

Gitme vakti gelince gitmek mi zordur kalmak mı?
2010-03-31 14:50:07

Edit:

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro