how is it possible to save my image, created with gd, as an png-8?
it saves as gif with transparent channel well - but I want to use png-8.
Best Regards, Beerweasle
Using imagesavealpha()
and a transparent bg color should do the trick...
Based on dfilkovi's code:
<?php
// Create a new true color image
$im = new imagecreatetruecolor(100, 100);
// Fill with alpha background
$alphabg = imagecolorallocatealpha($im, 0, 0, 0, 127);
imagefill($im, 0, 0, $alphabg);
// Convert to palette-based with no dithering and 255 colors with alpha
imagetruecolortopalette($im, false, 255);
imagesavealpha($im, true);
// Save the image
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>
@Sonny
false assumption: PNG of any bit depth can have transparency. It is recorded in the tRNS chunk of the png image (except for truecolor ones) cf format definition
cf www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.tRNS
idem www.w3.org/TR/PNG-Chunks.html#C.tRNS
The difference is how it is recorder: RGBA has a unique record per pixel, with 4 values (3 colors and 1 alpha channel), where "paletted" PNG records alpha channel in its own chunk.
Fireworks is very good at it.
Examples:
http://www.libpng.org/pub/png/pngs-img.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With