`imagecropauto()` not working with transparent background
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 40.4k
- Fork
- 8.2k
- Merge medio
- 2g 13h
- PR unite (30g)
- 96
Descrizione
Description
The following code:
<?php
$gdImage = imagecreatetruecolor(100,100);
imagesavealpha($gdImage, true);
imagefill($gdImage, 0, 0, imagecolorallocatealpha($gdImage, 0, 0, 0, 127));
// imagepng($gdImage, '/tmp/image_transparent.png');
$result = imagecropauto($gdImage, IMG_CROP_TRANSPARENT);
var_dump($result); // object(GdImage)#2 (0) { }
// imagepng($result, '/tmp/image_black.png');
Resulted in this output:
object(GdImage)#2 (0) { }
But I expected this output instead:
bool(false)
Docs at https://www.php.net/manual/en/function.imagecropauto.php are saying:
If the complete image was cropped,
imagecrop()returns false
And this should be the case here IMO.
When doing the same with white background, it works as expected:
<?php
$gdImage = imagecreatetruecolor(100,100);
imagesavealpha($gdImage, true);
imagefill($gdImage, 0, 0, imagecolorallocate($gdImage, 255, 255, 255));
// imagepng($gdImage, '/tmp/image_white.png');
$result = imagecropauto($gdImage, IMG_CROP_WHITE);
var_dump($result); // bool(false)
PHP Version
PHP 8.3.1
Operating System
Kubuntu 22.04
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia eseguendo lo snippet PHP fornito con IMG_CROP_TRANSPARENT e confrontalo con il caso IMG_CROP_WHITE su immagini 100x100 completamente trasparenti e completamente bianche. Segui il punto di ingresso imagecropauto() e aggiungi la coverage per il caso trasparente; il lavoro è completato quando un’immagine trasparente completamente ritagliata restituisce false, in linea con il comportamento documentato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c, php
- Ambito
- computer-graphics
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100