(PHP 5 >= 5.5.0, PHP 7, PHP 8)
imagecropauto — Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar
$görüntü
,$kip
= IMG_CROP_DEFAULT
,$eşik
= 0.5,$rnek
= -1 Belirtilen kip
kullanılarak görüntü otomatik olarak kırpılır ve GDImage nesnesi olarak döndürülür.
görüntü
imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.
kip
Aşağıdaki sabitlerden biri olmalıdır:
IMG_CROP_DEFAULT
IMG_CROP_TRANSPARENT
ile aynıdır. PHP 7.4.0 öncesinde, görüntü şeffaf renge sahip değilse, libgd IMG_CROP_SIDES
sabitini kullanırdı. IMG_CROP_TRANSPARENT
IMG_CROP_BLACK
IMG_CROP_WHITE
IMG_CROP_SIDES
IMG_CROP_THRESHOLD
eşik
ve renk
değerleri kullanılarak kırpılır. eşik
Görüntü rengini ve kırpılacak rengi karşılaştırırken kullanılacak tolerans yüzde olarak belirtilir. Renk farkını hesaplamak için kullanılan yöntem, RGB(a) küpündeki renk mesafesine dayanmaktadır.
Sadece IMG_CROP_THRESHOLD
kipinde kullanılır.
Bilginize: PHP 7.4.0 öncesinde, PHP paketinde gelen libgd biraz farklı bir algoritma kullanıyordu, bu nedenle aynı
eşik
, sistem ve paketli libgd için farklı sonuçlar veriyordu.
renk
Bir RGB renk değeri veya bir palet indisi.
Sadece IMG_CROP_THRESHOLD
kipinde kullanılır.
Başarı durumunda kırpılmış GDImage nesnesi, başarısızlık durumunda false
döner. Görüntünün tamamı kırpılmışsa işlev false
döndürür.
Sürüm: | Açıklama |
---|---|
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi. |
8.0.0 | Başarı durumunda artık GDImage örneği dönüyor; evvelce resource türünde bir değer dönerdi. |
7.4.0 | PHP paketinde gelen libgd'nin sistem libgd'si ile aynı eşik kırpma algoritmasını kullanması sağlandı. Böylece artık libgd IMG_CROP_DEFAULT sabitinden IMG_CROP_SIDES sabitine geri düşmüyor. |
7.4.0 | kip için öntanımlı değer IMG_CROP_AUTO oldu. Evvelce, IMG_CROP_DEFAULT sabitine denk gelen -1 idi. Ancak, artık -1 belirtilmesi önerilmiyor. |
Örnek 1 - Otomatik kırpmanın doğru kullanımı
Dönen Değerler bölümünde belirtildiği gibi, görüntünün tamamı kırpılmışsa imagecropauto()false
değerini döndürmektedir. Bu örnekte, yalnızca kırpılacak bir şey varsa $im otomatik olarak kırpılmaktadır; aksi takdirde özgün görüntü ile devam edilmektedir.
<?php
$cropped = imagecropauto($im, IMG_CROP_DEFAULT);
if ($cropped !== false) { // yeni bir nesne dönmüşse
imagedestroy($im); // özgün görüntüyü yok et
$im = $cropped; // kırpılmış görüntüyü $im'e ata
}
?>