PHP 8.1.0 RC 4 available for testing

imagecropauto

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagecropautoMevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar

Açıklama

imagecropauto(
    GdImage $görüntü,
    int $kip = IMG_CROP_DEFAULT,
    float $eşik = 0.5,
    int $rnek = -1
): GdImage|false

Belirtilen kip kullanılarak görüntü otomatik olarak kırpılır ve GDImage nesnesi olarak döndürülür.

Değiştirgeler

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
Şeffaf artalan ile kırpar.
IMG_CROP_BLACK
Siyah artalan ile kırpar.
IMG_CROP_WHITE
Beyaz artalan ile kırpar.
IMG_CROP_SIDES
Kırpma artalanını belirlemek için görüntünün 4 köşesi kullanılır.
IMG_CROP_THRESHOLD
Görüntü, belirtilen 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.

Dönen Değerler

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 Bilgisi

Sürüm: Açıklama
8.0.0 görüntü değiştirgesinde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde bir değer 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.

Örnekler

Ö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($imIMG_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
}
?>

Ayrıca Bakınız

  • imagecrop() - Görüntüyü belirtilen dikdörtgen ile kırpar
add a note add a note

User Contributed Notes 3 notes

up
4
raphael.deiana
5 years ago
In some cases the use of the IMG_CROP_WHITE or IMG_CROP_BLACK does not work. The function returns FALSE. It is best to use the IMG_CROP_THRESHOLD mode and specify the color in fourth argument as in the example below :

<?php

$original_img
= imagecreatefromjpeg($image_path);

// Use this :
$cropped_img_white = imagecropauto($original_img , IMG_CROP_THRESHOLD, null, 16777215);
// Rather than :
$cropped_img_white = imagecropauto($original_img , IMG_CROP_WHITE);

// AND

// Use this :
$cropped_img_black = imagecropauto($original_img , IMG_CROP_THRESHOLD, null, 0);
// Rather than :
$cropped_img_black = imagecropauto($original_img , IMG_CROP_BLACK);

?>
up
2
Ray.Paseur sometimes uses Gmail
4 years ago
Please see the note on ImageCrop() that describes an extraneous black line at the bottom of the cropped image.
http://php.net/manual/en/function.imagecrop.php#119537

Bug 67447 applies to ImageCropAuto(), too.
https://bugs.php.net/bug.php?id=67447
up
0
nik_ranka mostly uses yeagou
10 days ago
The issue reported by Roy.Pasuer that led to the addition of a black line at the end of an image after cropping is resolved.

For imagecrop:
https://bugs.php.net/bug.php?id=67447

For imagecropauto:
https://bugs.php.net/bug.php?id=71218
To Top