Archiv pro měsíc: Listopad 2011

Nette a ukládání průhledných PNG obrázků

Standardní distribuce PNG mi špatně ukládá průhledné PNG (místo průhledné barvy je černá). Na různých serverech to možná funguje jinak. Osvědčila se mi následující úprava. Ve funkci fromFile třídy Image je ve switchi třeba nahradit větev patřící k typu PNG za tento kód:

if (@imagecreatefrompng($file)==false) return false;
$image = imagecreatefrompng($file);
imageantialias($image,true);
imagealphablending($image, false);
imagesavealpha($image,true);
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);
return new self($image);