Attualmente mi piacerebbe creare un png trasparente con la qualità più bassa.Creare un file png trasparente usando PHP
Il codice:
<?php
function createImg ($src, $dst, $width, $height, $quality) {
$newImage = imagecreatetruecolor($width,$height);
$source = imagecreatefrompng($src); //imagecreatefrompng() returns an image identifier representing the image obtained from the given filename.
imagecopyresampled($newImage,$source,0,0,0,0,$width,$height,$width,$height);
imagepng($newImage,$dst,$quality); //imagepng() creates a PNG file from the given image.
return $dst;
}
createImg ('test.png','test.png','1920','1080','1');
?>
Tuttavia, ci sono alcuni problemi:
Devo specifica un file PNG prima di creare qualsiasi nuovo file? O posso creare senza alcun file png esistente?
Attenzione: imagecreatefrompng (test.png): failed to open stream: No such file or directory in
C: \ DSPadmin \ dev \ ajax_optipng1.5 \ create.php sulla linea 4
Sebbene ci sia un messaggio di errore, genera comunque un file PNG, tuttavia, quello che ho scoperto è che il file è un'immagine di colore nero, è necessario specificare qualsiasi parametro per renderlo trasparente?
Grazie.
Grazie del tuo aiuto! Ti dispiacerebbe insegnarmi come minimizzare la dimensione del file png?L'impostazione del livello di qualità '9' nella funzione imagepng è l'unica cosa che posso fare? grazie – user782104
l'impostazione di "qualità" predefinita di imagepng (che dovrebbe essere denominata compressioni, poiché le compressioni di png sono senza perdita di dati) è 9 (afaik, ho provato senza qualità impostata (234 'byte '), qualità 0 (alcuni centinaia di 'KB') e un'impostazione di 9 (234 byte)). Quindi immagino che questo sia il miglior GD. –
questo fa sparire le mie linee nere –