imagecreatefrompng
imagecreatefrompng($file)
Wczytuje obrazek PNG – logo, ikonę, zrzut ekranu. Przezroczystość zostaje w obrazku zachowana, ale przy dalszej obróbce i zapisie musisz o nią zadbać (imagesavealpha()). W razie błędu zwraca false.
Parametry
- $file – ścieżka do pliku PNG albo adres.
Przykłady
$logo = imagecreatefrompng("logo.png");
echo imagesx($logo) . "×" . imagesy($logo); // 120×80
// róg logo jest całkowicie przezroczysty: alpha 127
$corner = imagecolorsforindex($logo, imagecolorat($logo, 0, 0));
echo $corner["alpha"]; // 127
// zachowanie przezroczystości przy zapisie
imagesavealpha($logo, true);
var_dump(imagepng($logo, "thumbnails/logo-copy.png")); // bool(true)
Na co uważać
- Bez
imagesavealpha($image, true)funkcjaimagepng()zapisze przezroczyste części jako czarne. - PNG z paletą (8 bitów) wczytuje się jako obrazek z paletą. Przed kopiowaniem do zdjęcia zamień go na truecolor (
imagepalettetotruecolor()), inaczej kolory się nie zgodzą. - Duże obrazki PNG (zrzuty ekranu) zajmują tyle pamięci co zdjęcie o tych samych wymiarach.
Powiązane funkcje:
imagecreatefromjpeg()
imagesavealpha()
imagealphablending()
imagepng()
imagecolorallocatealpha()