PHP Resim İşlemleri GD kütüphanesi

nssasmaz Nursin Şaşmaz Avatar

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ı?
05-03-2010 11:04

    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
    05-03-2010 14:40

      nssasmaz Nursin Şaşmaz Avatar

      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ı?
      05-03-2010 18:37

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

        Kunth Mesut Cemil ASLAN Avatar

        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...
        07-03-2010 12:40 Edit:07-03-2010 13:00

          nssasmaz Nursin Şaşmaz Avatar

          Ç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ı?
          31-03-2010 10:35

            Kunth Mesut Cemil ASLAN Avatar

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

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

              nssasmaz Nursin Şaşmaz Avatar

              farkettim hocam teşekkür ederimm..

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

                www.Phpkodlari.com © 2009 Herkes Php öğrenecek
                Web tasarım ve eğitim kaynağınız.