Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

php ile Resim Croplamak

Fotoğraf Makinem ile 3888x2592px 72dpi çektiğim resimleri sitemdeki albüm sayfasına upload ediyorum Upload sayfasındaki büyük resimlerin boyutu 691x461px bu boyutu makinenin default çekim boyutu ona 3888x2592px bir resmin genişliği photoshopta 691px yaptığımda yükseklik oranlaması sonucu yükseklğinde 461 çıkması sonucu elde ettim ve kullanıyorum.
Ancak şöyle bir sorun var;
Başka bir makine ile çekilmiş bir resim geldiğinde genelde boyutu değişik oluyor örneğin 3648x2736px bir resişm geldiğinde genişliği 691px yaptığımda ve yüksekliği ona göre oranladığımda yükseklik 518px çıkmaktadır.
Bu durumda birliktelik sağlamak amacıyla 518 yükseklği 461 e indirmem lazım.
Ancak resmin oranları ile oynayarak resmi bu hale getirebiliyorum ozamanda resmin görüntüsü pek hoş görünmüyor. Az da olsa resmin görüntü kalitesi bozuluyor.
Buna çözüm olarak şunu yapmak istiyorum

Şu durumda genişlik sabit resmimiz 691px uzunluğunda...
olması gereken resmin yüksekliği 461px
elimizdeki resmin yüksekliği 518px
518px-461px=57px fark var
57px i 2 e bölelim 28,5px
şimdi resmi üstten 28,5 alttan da 28,5px kırpmak istiyorum.

php ile resmi croplamanın mantığı nedir?
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • 1
    kralmermi adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    102 cevap - 6 soru
    once getimagesize ile resminin genişlik ve yuksekligini al
    resminin yuksekligi buyuk ise
    BUNU
    $NewHeight=$size;
    $NewWidth = ($NewHeight/$ImgY)*$ImgX;
    /*
    $NewHeight = yeni vermek istedigim olcu
    $NewWidth= otomatik olusturulacak olan ölçü
    $ImgY = resminin uzunlugu
    $ImgX = resminin genişligi
    */



    Genişligi büyük size BUNU kullanicaksin
    $NewWidth=$size;
    $NewHeight = ($NewWidth/$ImgX)*$ImgY;
    /*
    $NewWidth= yeni vermek istedigim olcu
    $NewHeight = otomatik olusturulacak olan ölçü
    $ImgY = resminin uzunlugu
    $ImgX = resminin genişligi
    */

    mantik bu hocam üstteki işleme gore kodlarini hazirlarsan resimlerde pixel bozukluk almassin kolay gele
  • bilisimtr adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    27 cevap - 6 soru
    O istediğini yapmak o kadarda zor değil inan. Aşağıdaki proje sayfasından yararlanabilirsin.
    tek dosyadan oluşan bir kod mevcut, oldukça da başarılı. O kodu crop.php olarak kullandığını varsayalım.

    crop.php?src=test.jpg&h=180&w=120



    http://www.binarymoon.co.uk/2010/08/timthumb/

    http://www.binarymoon.co.uk/demo/timthumb-basic/
    • kralmermi adlı üyenin fotoğrafı kralmermi
      hocam bir noktayı atliyorsun ama eger bir resme hem yukseklik hem genişlik verirsen pixelerini bozarsin buyuk olarak tarafi yada tek bir tarafi vericeksinki ona gore hesaplama yapsin ve pixel bozulmasin
      9 yıl önce yazılmış
    • bilisimtr adlı üyenin fotoğrafı bilisimtr
      verdiğim script otomatik kırpıyor.
      9 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      Burada mantık olarak şunu yapmayı düşünüyorum.

      ilk önce genişliği istediğim değer olan 691px e düşürürken yüksekliğinde scala değerine bakacağım eğer istediğim değer olan yükseklik 461px den büyük ise fazlalığı ikiye bölüp alt ve üstten keseceğim.

      Diğer bir sonuç olabilecek işlem ise
      genişlik 691 yapıldığında yüksekliğin scala değeri 461px den küçük oluyorsa bu defa işlemi tersinden işleteceğim yüksekliği 461px sabit tutup genişliği 691 den fazla olan kısımları sağ ve soldan kestireceğim.

      iki duruma uymayan yani 691x461px den daha küçük olan resimlere de resmin boyutu uygun değildir ile hata döndürülecek...
      9 yıl önce yazılmış