Domain: libpng.org
Stories and comments across the archive that link to libpng.org.
Comments · 209
-
F___ the specs; let's make our own
What if the patent depends on, say, some part of a public spec? Either violate the patent, violate the spec, or go home.
I'd choose violate the spec. CompuServe published the GIF specification based on a Unisys patent; we violated the spec. ISO published the MPEG audio specification based on a Fraunhofer patent; we violated the spec. ISO published the MPEG video specification based on numerous patents; we violated the spec. Bottom line: if a specification is patented, then f___ the spec; let's make our own.
Uh, okay, that'll show em. Hey microsoft! Your license to distribute Linux has just expired! TAKE THAT!
That's not sarcasm. Without Microsoft's license to distribute copies of the GNU operating system, the de facto standard userland layer on top of the Linux kernel, Microsoft won't be able to distribute copies of Services For UNIX, and between the termination of the GNU license and such time as Microsoft develops its own alternative, it will lose government contracts that depend on conformance to the POSIX spec.
And how will "the guy in the basement" enforce this anyway???
By handing over the copyright in a free software package to the Free Software Foundation so that FSF's attorneys can take the case.
-
Re:nice
Widespread adoption of the PNG standard would be a good thing. The significance of the GIF saga is not that the GIF format was encumbered. The significance is that the GIF format was intended to be open but was unexpectedly found to be encumbered (it was too late to eliminate the encumbered technique because of backwards compatability.) It is likely that the GIF format will always be remembered for these happenings.
The PNG format has more than just lossless compression. It has a format designed to thoroughly check the file integrity, among other things. The PNG standard is designed to allow enhancements to the format without having different format versions; it would be interesting to see how that works out. Even the pronounciation ("ping") was standardized.
-
Re:Wrong
I agree the alpha transparency in png is great... If only it were supported by all the browsers *cough* IE *cough*.
e.g. this. Check this out in something like moz, and then in IE. -
Re:PNG and non-metric resolution?I know this is off-topic, but why is it that if I save a PNG file with a resolution of something like 300 pixels/inch, and then re-open it, it comes back in as 299.999 dpi?
See this portion of the PNG spec. The image resolution is stored in the PNG file as an integer number of pixels per meter.
There are 39.3700787 inches in a meter. Thus, a 300 pixels-per-inch image is 11811.02361 pixels-per-meter. However, the PNG can only store an integer number of pixels per meter. Thus, 11811.02361 gets rounded to 11811.
Convert back to inches. What is 11811 / 39.3700787? Why, it's 299.9994 pixels-per-inch!
That's why 100 pixels per centimeter works perfectly. It's in metric.
Stop using this silly "inch" things, and your problem will vanish.
-
Re:PNG Software support
IMNSHO, it just shows that MS and Adobe can't use a simple Open Source reference library. There should be no excuse about it being difficult to implement. It's already implemented! And from reading the simple license, it appears to be BSD-like. So there should be none the worries or problems that commercial outfits seem to have with the GNU GPL. Where's the problem?
Oh, and if you want to complain about an elephantine feature-laden monstrosity, check out PNG's cousin - MNG
-
Re:PNG Software support
IMNSHO, it just shows that MS and Adobe can't use a simple Open Source reference library. There should be no excuse about it being difficult to implement. It's already implemented! And from reading the simple license, it appears to be BSD-like. So there should be none the worries or problems that commercial outfits seem to have with the GNU GPL. Where's the problem?
Oh, and if you want to complain about an elephantine feature-laden monstrosity, check out PNG's cousin - MNG
-
Re:PNG Software support
IMNSHO, it just shows that MS and Adobe can't use a simple Open Source reference library. There should be no excuse about it being difficult to implement. It's already implemented! And from reading the simple license, it appears to be BSD-like. So there should be none the worries or problems that commercial outfits seem to have with the GNU GPL. Where's the problem?
Oh, and if you want to complain about an elephantine feature-laden monstrosity, check out PNG's cousin - MNG
-
Re:Why do we need GIF anymore?
Wish granted. MNG
Once PNG has animation... -
Re:Even our damned chancellor...
I know this is going to earn me plenty of foes, but here goes.
I think patents aid innovation. And I'm not just referring to the incentive of royalties. If the easiest or best known (or possibly the obvious) way of doing something is restricted, people and companies are motivated to come up with a new way of doing it.
Now, how a patented technology may remain dominant in a market with a superior, even free, rival technology available is a side effect of how business is done. -
Re:Maybe you can help me with this...
Maybe this will help.
- PNG is lossless, so image quality is always perfect (not merely "surprising").
- JPG is lossy, so it's allowed to degrade image quality to get better compression (and this is something you can tune when you do the compression).
- GIF is lossless also, but it doesn't compress as well as PNG, usually.
So, to answer your questions...
Can you get amazing compression rates with PNG? Yes, but this depends on your definition of "amazing."
How do I achieve better compression than GIF or JPG? Pngcrush will take an existing PNG and make it as small as possible with no loss of quality.
How can I get PNG to perform consistently better than GIF or JPG? You can't. As you observe, it depends on the image. A photograph will pretty much always compress better with JPG (which loses quality, remember). PNG will do better on an artificial image such as a cartoon or a screen capture.
Hope this helps.
-
Re:If the poster is correct
http://www.libpng.org/pub/png/img_png/pnglogo-blk
. jpg
Ironic, isn't it? -
Don't cry for me, Argentina
What, are you kidding? Come on, seriously, have you ever seen a GIF image that didn't make you want to puke, aside from your own beloved buddy icon? Of course not. No graphic ever created in GIF is a useful contribution to society. Somebody SHOULD be charging a royalty and then using that money to pay for the people who've gone crazy watching the little dancing Tux or the little guy bouncing the ball around his square.
PNG may not be as popular, but does that even matter? It need not be popular, only a) useful and b) relatively ubiquitous to be a success. If it has those two things, it should, by all rights, catch on. All recent versions of major browsers support PNG (right, IE does now? if not, then I apologize and retract the second paragraph of my smart-ass reply), and that's really all that matters. You're free to build a standards-compliant website now with PNGs and reap all the alpha-channel goodness you want (oh wait, IE doesn't support that, really, does it?). Well, you can still use PNG within reason and build a free-as-in-speech-and-beer website and have a great time of it.
All you have to do is use PNGs so nobody will notice, and the world is a better place.
MNG, on the other hand, is a truly useless, unsupported format. Although again, referencing the animation ability of GIF lamented above, I can't say that MNG falling through is the worst development I've heard of, either.
$.02 that shouldn't hurt my karma too badly... -
Re:PNG's.....
Firefox doesn't seem to support it, at least looking at this page. Nor does IE. If we're going to skip the vast majority of user's browsers, why don't we just assume everyone has QuickTime installed?
-
Re:PNG's.....
You can't make animations with PNG files....
MNG -
They didn't ignore it...
Actually, the PNG folks do have an animation standard: MNG. In fact, it's in many ways superior, because it can support lossless or lossy compression (JNG).
Unfortunately, by making it an optional part of the standard, they ensured that browsers wouldn't support it. Even Mozilla doesn't support it anymore. -
Re:PNG's.....
PNG files are not a better format. The folks that created it shot themselves in the foot by ignoring the primary reason to use a GIF file. Animation.
That is why we have MNG... -
Re:PNG's.....
Perhaps you missed Multiple-image Network Graphics, basically animated png.
-
Re:PNG's.....
You can't make animations with PNG files....
Sure you can, only the result is called MNG.
-
Burn All GIFs
-
Burn All GIFs
-
Re:GoodI said breaking standards, not breaking PNG. Please don't misquote me.
First of all, take a look at http://www.libpng.org/pub/png/pngapbr.html#msie-w
i n-unix, and then look at the PNG support by every other major browser on that list. Every major browser there currently supports full alpha transparency, except IE (even in current 6.0 versions). When everyone except MS implements a standard uniformly, you'd have to be very naive to think that is just Microsoft "choosing not to support alpha transparency".Full alpha transparency is hugely important so that anti-aliased text can appear smoothly on a transparent background.
http://www.libpng.org/pub/png/pngintro.html says:
This transparency feature is far more important for the small web graphics that are typically used on web pages, such as colored (circular) bullets and fancy text. Alpha blending allows one to use anti-aliasing--creating the illusion of smooth curves on a grid of rectangular pixels by smoothly varying the pixels' colors--to make rounded and curved images that look good against any background, not just against a white background (for example).
Christ, there is even a petition to get them to fix this: http://www.petitiononline.com/msiepng/petition.htm l -
Re:GoodI said breaking standards, not breaking PNG. Please don't misquote me.
First of all, take a look at http://www.libpng.org/pub/png/pngapbr.html#msie-w
i n-unix, and then look at the PNG support by every other major browser on that list. Every major browser there currently supports full alpha transparency, except IE (even in current 6.0 versions). When everyone except MS implements a standard uniformly, you'd have to be very naive to think that is just Microsoft "choosing not to support alpha transparency".Full alpha transparency is hugely important so that anti-aliased text can appear smoothly on a transparent background.
http://www.libpng.org/pub/png/pngintro.html says:
This transparency feature is far more important for the small web graphics that are typically used on web pages, such as colored (circular) bullets and fancy text. Alpha blending allows one to use anti-aliasing--creating the illusion of smooth curves on a grid of rectangular pixels by smoothly varying the pixels' colors--to make rounded and curved images that look good against any background, not just against a white background (for example).
Christ, there is even a petition to get them to fix this: http://www.petitiononline.com/msiepng/petition.htm l -
Re:Personally...
Yes, it's one of the more established extensions. It's covered on the PNG home page under MNG / JNG Technical Documentation.
-
Re:Personally...
Yes, it's one of the more established extensions. It's covered on the PNG home page under MNG / JNG Technical Documentation.
-
Re:Personally...
Now, finally some may say "but PNG supports lossy compression too" - yep, it's sure does - by using JPEG compression!
I've heard people say this sort of thing before, and I haven't found any evidence of it. I was looking here, and at various other pages on the PNG site, and I didn't see that they mentioned anything about a lossy mode. Some people I've talked to thought PNG was just naturally a lossy format! If lossy compression is supported it must be some kind of extension... If anyone has any more information on that, I'd be interested to hear it.
-If -
PNG
Just another reason to use PNG. As the availability of inexpensive bandwidth increases, so declines the need for lossy compression methods.
-
Re:PNG vs JPEGBefore you rip on PNG, why don't you read the damned spec!! Jesus.
Particularly notice the section on colorspace information, where there are clearly specified tables for defining the CIE x,y chromaticity of the R, G, B components, the white point, the image gamma, and the freaking ICC color profile.
It seems the software you use can't create gAMA tables in its PNG output. Hence it is your software that sucks, not the PNG format.
And this entire discussion is moot if the browsers don't support the gamma adjustment. Gonna blame that one on the PNG creators also?
-
Re:PNG vs JPEGBefore you rip on PNG, why don't you read the damned spec!! Jesus.
Particularly notice the section on colorspace information, where there are clearly specified tables for defining the CIE x,y chromaticity of the R, G, B components, the white point, the image gamma, and the freaking ICC color profile.
It seems the software you use can't create gAMA tables in its PNG output. Hence it is your software that sucks, not the PNG format.
And this entire discussion is moot if the browsers don't support the gamma adjustment. Gonna blame that one on the PNG creators also?
-
PNG is still-only and MNG is absent
No popular web browsers support the animated variant of PNG. How would one create the equivalent of a GIF animation with the PNG image format other than by using some nasty JavaScript hack?
-
Why is PNG a good format to use?
Why is PNG a good format to use? This has already been discussed on slashdot but for those of you that are new to: PNGs
First PNG is an open standard that doesn't rely on proprietary formats like LZW for compression like in Gif that is owned by Unisys. PNG has a better compresses algorithm than GIF anyway.
PNG is a loss-less compression method meaning that you open and save and get back to original data. Think of it like a ZIP file, you can always get the data back from a ZIP files as you stored it in.
PNG supports three main image types: true color, grayscale and palette-based. Good for Normal Pictures, Documents and Web Based Images. -
PNG!
... Advanced features include search by image size, format (JPEG and/or GIF)
...
They didn't mention PNG, the turbo-studly image format which Google Image Search does indeed support.
It seems they used to have very few PNGs in their database, but now a search for +a filetype:png returns 700,000 results! -
libpng 1.0 beta 2 - version 0.88
It's kind of interesting that IE seems to use libpng1.0 beta 2 - version 0.88. That's very out of date and vulnerabilities have been found and fixed since then. Hopefully some critical upgrade upgraded libpng.
-
Re:I know....
Unless you want to use PNG alpha blending, which is where IE falls down.
-
Re:No.
PNG is a tagged image format. It can be a lot of things, including lossy encoded. There are provisions that allow for inclusion of custom tags. I will refer you to the JNG Image Format, which is just a couple of tags added to the reference PNG spec.
-
Re:No good free librariesSo if I understand. Jpeg2000 format is layered, with each additional layer delivering higher detail, when you downloaded all the layers you have the full high resolution image.
The same is true of current JPEG, PNG, and GIF. It's called a progressive or interlaced image - as it loads, it starts as a blocky blur and sharpens into the image. The effect is much more noticable when browsing the web with a 56k modem.
Doesn't Ogg Vorbis do something like this, your bandwidth determines how many layers you can stream at once, the more layers you can download at once, and the higher quality the stream.
Not really. Theoretically, the Ogg format supports bitrate peeling - taking a high quality original and "peeling" it down to a lower compression level without reencoding. In practice, the code to do this hasn't yet been written - apparently it's not a big priority.
-
Don't take Cliff literally..When he says PNG, I think he means JNG, which is basicly a standard JPEG plus transparency. JNG is from the MNG suite (same people who gave us PNG).
More info here:
http://www.libpng.org/pub/mng/spec/jng.html
Abstract:
JNG is a lossy single-image member of the PNG (Portable Network Graphics) format family. It encapsulates a JPEG datastream in PNG-style chunks, along with an optional alpha channel and ancillary chunks that carry color-space information and comments. While JNG is primarily intended as a subformat of the MNG (Multiple-image Network Graphics) format, standalone JNG files are also possible.
-molo -
Restore MNG Support!
Since I don't see anyone else bitching about it yet, I'll do the duty...
Last summer, the Mozilla maintainers removed support for the MNG file format. This was a Bad Thing[tm]. See someone else bitching about it for more details. The relevant bugzilla bug is 18574, available at this url (cut and paste, since they block links from slashdot):
http://bugzilla.mozilla.org/show_bug.cgi?id=18574
MNG supporters have revolted and are operating out of mngzilla.sf.net
-
Re:Dammit, more Linux impact
The main reason for that is that Many browsers don't support png properly, Notably Internet Explorer.
See this or this to see whether your prowser renders them correctly.
png has some really nice features (like alpha transparency) that would be really useful if you could rely on them being supported. -
Re:Dammit, more Linux impact
The main reason for that is that Many browsers don't support png properly, Notably Internet Explorer.
See this or this to see whether your prowser renders them correctly.
png has some really nice features (like alpha transparency) that would be really useful if you could rely on them being supported. -
fix it!
Maybe they can finally support PNG images properly... they've only been an Internet standard for seven years.
Throw in built-in SVG support, too, so we can actually start using them (Internet standard for two years now). Maybe then Mozilla/Firebird, etc. will sort our their library licensing issues and support SVG out of the box, too. -
Re:This is funny
Yup, their PNG support has been broken forever. At least most basic functionality is there, but the gamma and alpha blending are borked. The gamma bug is probably what's screwing with you.
Here's a detailed list of IE's PNG support. -
Will the trolls help too? (5core:5, funny)
The goatse.cx lawyer said we needed a warning! So.. if you are using a patent encubered operating system like linux or you find this photograph offensive, please don't look at it. Thank you!
[ Stinger, using a patented image format ]
The giver | Feedback | Contrib
Goatse.cx is proudly sponsored by SCO, inc! -
Re:The fact that...
If they hadn't, Microsoft simply wouldn't have supported PNG at all.
Is that really any better than their current support? As a web developer, I'd have been able to save a lot of effort if PNG support had simply been nonexistent, instead of again and again finding black backgrounds, white backgrounds, horrible dithering, and hundreds of other glitches. If you want IE compliance, your pngs have to be exactly like gifs except sometimes smaller.
-
PNG IssuesA certain popular browser doesn't handle a lot of transparent PNGs correctly. (Can you guess which one?) Erik Arvidsson has a clever workaround, but I have to question whether kludging ones web pages that way is a good idea.
Another issue I have with PNG is that some software seems to generate illegal images. I volunteer at Distributed Proofreaders and every once in a while Mozilla chokes on a page image that's an illegal PNG file. The really irritating thing is that Mozilla is actually able to read the image itself, but if it's allowed to download the very end of the file it says, "This is an illegal PNG! I can't let you look at it anymore!" I have to download the page image and read it with a less intolerant image browser. A pain.
As if that weren't enough, IIS doesn't ship with a metadata entry for PNG. Which, predicably enough, doesn't matter to IE, but screws up more compliant browsers.
Of course, none of the problems are the fault of the PNG people, who have created some very sexy technology. But until PNG images can be displayed reliably, it makes no sense to insist that everybody should migrate away from GIFs.
There's also the little detail that the notorious LZW patent has expired. That removes one of the big motivations for creating the PNG standard in the first place. Yeah, GIFs don't have as many cool features, but they're still adequate for most people's needs.
-
PNG IssuesA certain popular browser doesn't handle a lot of transparent PNGs correctly. (Can you guess which one?) Erik Arvidsson has a clever workaround, but I have to question whether kludging ones web pages that way is a good idea.
Another issue I have with PNG is that some software seems to generate illegal images. I volunteer at Distributed Proofreaders and every once in a while Mozilla chokes on a page image that's an illegal PNG file. The really irritating thing is that Mozilla is actually able to read the image itself, but if it's allowed to download the very end of the file it says, "This is an illegal PNG! I can't let you look at it anymore!" I have to download the page image and read it with a less intolerant image browser. A pain.
As if that weren't enough, IIS doesn't ship with a metadata entry for PNG. Which, predicably enough, doesn't matter to IE, but screws up more compliant browsers.
Of course, none of the problems are the fault of the PNG people, who have created some very sexy technology. But until PNG images can be displayed reliably, it makes no sense to insist that everybody should migrate away from GIFs.
There's also the little detail that the notorious LZW patent has expired. That removes one of the big motivations for creating the PNG standard in the first place. Yeah, GIFs don't have as many cool features, but they're still adequate for most people's needs.
-
Standards
So if it's by default in mozille (firebird), it might finally push SVG
... and make it what it is supposed to be, a webstandard.
I think it's unlikely to become commonly used until it's in Internet Explorer, because, like it or not, the number of people using IE is still vastly greater than the number of people using Mozilla and variants. Until it's in IE, I think most web developers will just say, "Why not keep using Flash?" and do just that. It's a similar situation with PNG; even though PNG-32 has superior alpha channel support to GIF, you don't see many sites with variable transparency 32-bit PNGs because IE still doesn't support them.
Don't get me wrong, I'd love to see Flash (and all proprietary web formats, etc.) disappear today and be replaced by SVG, but I just don't think that's likely to happen in the near future. Actually, I think I'd love to see Flash disappear today and not be replaced by anything, but maybe that's just me. ;-) -
Integration! Integration!I agree. SVG lovers place too much emphasis on interactivity. Maybe someday SVG will challenge JavaScript, but right now that's less important than the fact that graphic support in current web browsers is screwed. Right now, most web graphics uses some kind bitmap. There's either lossless or lossy compression, but there's still too many bits, even if you have a fast connection. Nor do web sites like paying for the extra bandwith. SVG deals with this problem very neatly.
(No, I didn't forget PNG. It has some technical and ideological advantages, but browser support is still, well, incomplete.)
So what's wrong with SVG plugins? They don't exploit the full power of SVG. It's not just a graphics format, it's an XML application. In other words, it's a markup language, just like HTML. A good XML-aware browser (something both IE and Mozilla pretend to be) shouldn't isolate SVG from the rest of the document.
Consider the gif-filled Slashdot page you're looking at right now. They have gotten rid of a lot of bitmaps (though the left hand clickbar looks slightly less cool as a result). But they still use some weird little bitmaps, plus a lot of weird tables and font kludges that are hard to maintain and tend to be browser dependent.
There's a simple fix: put SVG support in the browser (it is a W3C invention after all) and allow indiscriminate embedding of XHTML and SVG in each other. (Not to mention any other XML applications the browser happens to support.) The Mozilla people know this, but still consider SVG support experimental and non-standard. This has been the status quo for quite some time, and given AOL's abandonment of Gecko, is not likely to change.
Maybe if Mozilla had concentrated on basic technological improvements like this and less on eye-candy and silly features... well, AOL, would probably still have screwed them over. But I might feel bad about it.
KHTML looks to be the new leader in open-source web browsers. And their does seem to be a lot of interest in using the engine to render SVG. Alas, the KDE people still think of SVG as something you embed in something else.
-
Re:better question to ask is...
Indeed. According to the Intro to PNG Features,
``PNG'' is always spelled ``PNG'' (or ``Portable Network Graphics'') and always pronounced ``ping'' in English, not ``pinj'' or ``pee en gee'' or any other multi-syllabic disaster. (For non-English speakers, the three-letter pronunciation is fine, however.) See the introduction to the PNG specification for the definitive statement on the matter.
-
Re:better question to ask is...
From the official site:
"PNG" is always spelled "PNG" (or "Portable Network Graphics") and always pronounced "ping" in English, not "pinj" or "pee en gee" or any other multi-syllabic disaster.
I think most managers could handle that. Easier than the hard-g, soft-g question we had with GIF.
-
Re:good.Until PNG is more widely accepted in browsers, gif will have its place.
PNG is fully supported in every major browser (Mozilla, Konqueror, Opera) except IE, which supports PNGs that have all the features of GIfs (ie, no alpha).
PNG is widely accepted. PNG is technically superior to GIF, and a good way to persuade Microsoft to implement alpha transparency in IE is to use PNGs exclusively.