Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Please don't post about US Politics. If you need to do this, try [email protected]
Rules: (interactive)
1) Be nice and; have fun
Doxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them
2) All posts must end with a '?'
This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?
3) No spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [email protected] or [email protected].
NSFW comments should be restricted to posts tagged [NSFW].
5) This is not a support community.
It is not a place for 'how do I?', type questions.
If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email [email protected]. For other questions check our partnered communities list, or use the search function.
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
view the rest of the comments
Isn't jpg more efficient for pictures, whereas png is better for graphics type elements with defined colors and edges?
Jpg is lossy and throws away information every time it is used, that’s why you get the “deep fried effect” when you re-encode something repeatedly. PNG is lossless so it’s a perfect replica of whatever image you encode with it. It does take up more space however.
Minor niggle: the ‘deep fried effect’ isn’t because jpg throws away information every time, it’s because the compression algorithm averages pixel boundaries, and that averaging multiplies with each compression pass.
It can actually bloat the size of the file by adding information – adding data to previously null pixels, whereas png would keep them clean.
e: it achieves this through pixel averaging (fuzzing), which is why you’ll see grey artefacts bleeding into the pixels around line art. This is magnified with each compression.
You’re conflating “data” with “information”.
Repeated re-encoding loses information. “The compression algorithm averages pixel boundaries” is a perfect example of losing information.
That it sometimes results in more bits of data is a separate phenomenon altogether.
Thank you I learned something today.
That’s fair. Thank you for making that distinction.
e: It’s still bad for the user, though.
There is lossless JPEG, but nobody uses it. And there are lossy PNG encoders, and some people use them.
JPEG is for real life photos, using it for anything else is just lossy compression.
The reason for that is rather surprising, but PNGs are basically zipped BMPs with an optional filter step to arrange the pixels in a way that compresses better.
And that's why if you give it a photo with lots of details, it's not very effective and just gives you a rather big file. PNG barely does anything compared to JPEG and other formats. That's also why it's great for small things like icons: it decompresses fast and still manages a fairly good compression ratio when a good chunk of the image is transparent or flat background.
Jpg is better for photographs. Png is better when there are a lot of homogeneous pixels, like cartoons or rasterized vector graphics.
PNG is lossless and JPEG is not. JPEG is about a sliding scale of "quality" (at the cost of file size) and minimizing how much it fucks with the visual end result.
PNG can be lossy and JPEG can be lossless, but nobody use them this way.
This comment was basically inevitable. Broad strokes for what the vast majority of cases will be, is my defense :p
Jpg is really bad for anything with sharp lines, such as text. It also doesn't support alpha channel (transparency) which is reasonably important in modern web design.
PNG is loseless, which is great for... anything other than storage/bandwidth due to file size. There's even an animated PNG standard, similar to animated GIF, but you never see that used anywhere.
(I accidentally responded to the wrong comment before.)
Yes, that’s exactly right.