A pretty experienced graphics designer at my company told me that PNG is not wildly used because PNG files are bigger than GIF files. So at first I thought so, as some of the files saving the screen capture is rather big. However, I just found out that PNG can actually use 8-bit palette too (8-bit indexed colors), and that GIF is based on LZW which only compress better horizontally while PNG compresses well both horizontally and vertically. So I tried converting a GIF file that was 28.5k into a PNG (non-animated, and have transparency) using GIMP. Well yes, it became only about 14.9k. So I wonder, is it true that in the graphics community, that sometimes PNG is thought to be larger file size than GIF (and it may be true if that PNG file uses 24 bit color). And then, in reality, when PNG uses 8-bit indexed color, is it almost always that the PNG will be smaller than GIF files? Thanks very much.
some experiments showed that if the GIF files is bigger-sized, such as 100 x 80 pixel or above, then the PNG version can really reduce the file size, provided that the graphics conversion program does a good job. However, when the GIF file is only a small icon type, like 11 x 11px or 12 x 12px, then GIF seems to be smaller than PNG (590 bytes vs 638 bytes). This may be due to the higher "fixed cost" or the "overhead" of the color table, etc of PNG. The "variable cost" of PNG seems to be smaller than GIF, so that's why bigger GIF can become smaller when converted to PNG. (Update: I tried pngcrush and OptiPNG, and both seemed not as optimized as PNGOUT, which made the PNG file very close to the original GIF, only about 20 bytes more, but the larger PNG, which were already much smaller than the GIF version, can be further reduced in file size by PNGOUT). also, a couple of paragraphs in Wikipedia:
Yes the size of the 8-bit PNG become does less than the 24 bit png, and the size of Gif aprox. same as the 8-bit png. But the quality of Edged in Gif and 8 Bit PNG become Crap, it shows white white pixels at the edges.
You can change the color your images are matted to, so it matches the background color the images will be displayed on.