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) funkcja imagepng() 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()