Slashdot Mirror


What Is The Future of PNG?

miladus writes "The GIF patent (held by Unisys) will expire on June 20. C|Net wonders whether that will also mean that PNG "will lose its original reason for being". Remember Burn All GIFs? " My hope would be that at this point PNG can stand on its own technical merits, rather then on ideological merits.

10 of 609 comments (clear)

  1. GIF and PNG are completely different! by flend · · Score: 5, Informative

    GIFs are limited to 8-bit colour depth, no alpha layer etc. etc. PNG is a standardised, open format with support for lossless encoding of full colour graphics with transparencies.

    Saying that GIF becoming patent unencumbered is going to reduce use of PNG is like implying that when the original patents ran out on horses & carriages people gave up their cars and reverted. Ain't gonna happen :)

    1. Re:GIF and PNG are completely different! by scrawny · · Score: 5, Informative

      The mistaken belief that GIF has a limit of 256 colors probably comes from the way GIF was first used when it came out. In the late 1980's, PC video cards generally supported no more than 256 colors. Image exchanges were becoming popular among BBS systems and the Internet and viewer programs were quickly produced. No one tried or needed to generate images with more than 256 colors since they could not be viewed on anything less than high priced graphics workstations. Programs that converted images to GIF worked up a number of methods to reduce the number of colors to 256 or fewer. Some actually did a very good job. GIF files were constructed with just a single image block, even though the GIF standard placed no limit on the number of blocks. Since there was no use for more than 256 colors, there was no use for more than one image block. This practice became effectively ingrained into the computer culture and eventually everyone "knew" that GIF supported no more than 256 colors. The fact is, the programs that generated GIF files supported no more than one image block, and thus didn't have a means to deal with more than 256 colors. The top image shows that a GIF file really can have more than 256 colors.

      this info and more (including full color GIF) from here.

  2. Wrong! by brennanw · · Score: 5, Informative

    If you're getting larger file sizes with PNG, then you're using a program that creates PNG poorly.

    When I converted all the graphics on my site over from GIF to PNG, I saved bandwidth. If I did my comic in GIF instead of PNG, the graphics would be much larger than they are now.

    use pngcrush or some other kind of tool to optimize them if your stuck using an older version of Photoshop (some versions of photoshop have lousy PNG support) or get some shareware or free software program that supports PNG properly.

    JPEGS will still be better for 24 bit color images, but with the right program PNGs will beat out GIFs.

    --
    Eviscerati.Org: All Hail the Eviscerati
    1. Re:Wrong! by rknop · · Score: 5, Informative

      All 3 of the graphics programs I use routinely creat PNG's that are larger than gif's, now this may not be a problem with the format persee, but it is a problem with the real world implementations that are out there and are being used.

      You should consider another possibility: you don't know what you're doing.

      Do you know the difference between a 24-bit true color and an 8-bit palette image? (This is not an insult or rhetorical question, it's a real question-- you may.) Many image processors and paint programs work naturally in 24-bits. If you save to PNG, they will then naturally save those images in 24-bit format. To save to GIF, though, they must first be converted to 8-bit palette format. With (for example) the Gimp, you have to do this explicitly, so you'll know you're doing it. However, it's possible that some paint programs may do it automatically, without telling you it's been done. This will make for smaller files, but information has been lost. When you read it back in, you will only have 246 different colors in the image, regardless of how many where there originally. If you read the PNG back in, the image will be exactly as you saved it. (Unless you had all sorts of complicated layers, in which case you need an even heavier file format.)

      PNG can save images in 8-bit format, in which case a good implementation will give you an image about the same size or a bit smaller than a GIF image. But they don't have to. GIF images have to be saved that way. Naturally, saving an image in 24-bit format will create a larger file than saving one in 8-bit format. (And, it may be different by more than a factor of 3, for reasons having to do with the compression algorithm.)

      Before comparing the merits of image formats looking just at the file sizes saved, you have to make sure you understand what is being saved.

      JPG is a whole 'nuther ball of wax. That's a 24-bit image format, but it's lossy. That's why they can be so small. But, again, if you read the image back in, it won't be exactly the same; some colors will have been modified slightly. (How much depends on the quality setting you used when saving the JPEG image.) If you're expecting to read and write an image repeatedly, JPEG is a bad format to use, as each time you read and write it, more information gets lost. In that case, you're much better off using PNG images.

      -Rob

  3. A minor 'hack' get's fuPNG to work in IE though... by Anonymous Coward · · Score: 5, Informative

    I have an include file tricking the transparancy into working here , but this geezer has done it a more elegant way...

    Until IE gets a major update it's the only way to ensure that your PNG stuff works cross-browser. And with PNG's superior colour depth and transpancy there really is no reason to NOT at least toy with using PNG's a little any more...

  4. Except, of course... by Gordonjcp · · Score: 5, Informative

    MNG files, which are animated PNGs.

  5. Re:Its already moribund by barcodez · · Score: 5, Informative

    Apple's Quicktime can become the default plug in for PNGs and display them instead of IE within IE. Therefore full advantage can be made of Alpha channels. Obviously not everyone has QuickTime installed.

    --

    ----
  6. PNGs will always be larger than GIFs... by J_DarkElf · · Score: 5, Informative

    ... if saved as truecolour images. What really killed PNG, imnsho, was that the first graphics programs that implemented it simply did not allow users to create indexed PNG files. An 8-bit PNG image is smaller than an 8-bit GIF.

    What many people also seem to forget, is that there is no excuse not to safe your PNG image with maximum compression once you are done editing: there will be no image quality loss.

    And of course anyone seriously creating PNG images cannot do without PNGCrush, which can shave off every single bit of bloat. A crushed PNG image will look just as good as the original, but will be only a fraction of its size, and will be a lot smaller than a GIF would (1).

    1: But not smaller than the JPEG. Lossless compression cannot compete with JPEG's lossy compression, and JPEG is still the format of choice for photographic images. For everything else you can and should use PNG.

  7. Re:problems with PNG by Fweeky · · Score: 5, Informative
    large file size- much larger than gif or jpg

    Not really. Some encoders are pretty poor, but an 8 bit PNG can easily rival, if not beat it's gif counterpart.

    Let's pick a quick example:
    -rw-r--r-- 1 freaky None 27382 Jun 9 10:12 states_imgmap.gif
    -rw-r--r-- 1 freaky None 23176 Jun 9 13:28 states_imgmap.png
    -rw-r--r-- 1 freaky None 22619 Jun 9 13:29 states_imgmap_pngcrush.png
    -rw-r--r-- 1 freaky None 21404 Jun 9 13:31 states_imgmap_pngout.png
    The .png is saved from Paint Shop Pro 7, _pngcrush.png using bog-standard pngcrush (which was, btw, identical to pngcrush -brute), , and _pngout.png using pngout.

    If you think this is too simple an image, let's try a screengrab of my desktop, reduced to 256 colours. Feeling lucky?
    -rw-r--r-- 1 freaky None 342508 May 31 02:22 grab_orig.png
    -rw-r--r-- 1 freaky None 136461 Jun 9 13:41 grab.gif
    -rw-r--r-- 1 freaky None 97538 Jun 9 13:40 grab.png
    -rw-r--r-- 1 freaky None 95336 Jun 9 13:42 grab_pngcrush.png
    -rw-r--r-- 1 freaky None 87168 Jun 9 13:44 grab_pngout.png
    Same deal as above. The original is a 24bit pngcrushed file. None were saved as interlaced/progressive, nor with any transparency.

    I dunno about you, but PNG looks pretty good to me.

    Remember that most PNG's are likely to be 24 bits, as opposed to GIF's maximum of 8, and can even include an extra 8 bits of alpha transparency.

    poor standardization

    What? There's at least one free high quality reference implementation anyone's welcome to use (even Microsoft), the full specification's there for anyone to read, there's a W3C recommendation that's actively maintained. What more standardization do you need?

    Yes, IE doesn't support alpha transparency (something GIF doesn't even have the potential to do; PNG's 8 bit alpha channel is as big as GIF's entire range!), but for general use PNG's a perfect replacement for GIF.

    JPEG can beat both, but only if you don't mind it dropping image quality to do so; not something you want to do generally.

    little exposure

    So what? Most users can just double click on the image file (who's file extension Windows helpfully hides by default) and won't notice the difference. And if some so called "web developer" hasn't heard of it, well, sucks to be him and his clients.
  8. Two solutions for IE 6 PNG color mismatch by yerricde · · Score: 5, Informative

    What you're seeing is probably gamma correction. Try saving the PNG image without a gamma chunk (GIMP's Save As... dialog can do this), and your image's #660000 will match your page's #660000.

    If it's not gamma, then it's probably differences in dithering. In high-color mode, some web browsers use different dithering algorithms on flat rectangles (e.g. backgrounds) vs. images. If this is your problem, the problem should show up with GIF images as well. Here, the best policy is to use a binary-transparent PNG, masking out what touches the edges and matches the background. (IE supports binary transparency in indexed images, just not alpha.)

    --
    Will I retire or break 10K?