PNG support for colour profiles incomplete/unpredictable in CC 2018

Explorer ,
Oct 22, 2017 Oct 22, 2017

Copy link to clipboard

Copied

Hello,

The new Export As... Embed profile checkbox doesn’t work properly with PNG8 files (“Smaller Files”). Mac and Windows edition of CC 2018 behaves differently when it comes to recognising sRGB chunk in PNG files (incl. those saved from Photoshop). The new CC 2018 PNG support through Save As.. has lost an ability to embed colour profiles (it works correctly in CC 2017).

For a detailed report, please see: PNG8 colour support broken · Issue #392 · adobe-photoshop/generator-core · GitHub

Regards

m.

Views

1.5K

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 22, 2017 Oct 22, 2017

Copy link to clipboard

Copied

PNG-8 is indexed color, which doesn't support icc profiles.

Export As PNG-24, as well as Save As PNG, both embed the profile correctly. Just tested in Win 10.

In other words, there's nothing wrong. Everything is as expected.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 22, 2017 Oct 22, 2017

Copy link to clipboard

Copied

Hi,

Thanks for the answer.

PNG-8 is indexed color, which doesn't support icc profiles.

Colour profiles are supported for all PNG types (indexed included): PNG Specification: Chunk Specifications​. As is sRGB chunk. Plenty of indexed PNGs in the wild with both and support for it in other applications. Even if Adobe would choose not to follow PNG spec and wide practice and add to confused colour all over the web by not supporting iCCP and sRGB chunks for indexed PNGs, they would need to disable checkboxes that currently aren’t working as advertised and are confusing.

Save As PNG (...) embed the profile correctly

Apologies. You’re right, I was mislead by unchecked AND greyed out Embed profile checkbox in Save As for images in sRGB. Profiles are correctly saved provided they are NOT sRGB. However, if the image is in sRGB, Photoshop CC2018 Win doesn’t write sRGB  or iCCP chunks (Export As PNG-24 saves iCCP, it could produce smaller files by using sRGB chunk, but at least it doesn’t produce incorrect files).

In other words, there's nothing wrong. Everything is as expected.

Not my experience, unfortunately. Also Mac and Windows versions are incompatible now (in CC 2018) when it comes to recognising sRGB chunks in files (incl. those they wrote themselves), amazingly – both are wrong (Win doesn’t recognise sRGB chunks, Mac sees them in PNGs without sRGB chunks).

Plenty to improve, I would say.

Coming back to colour profiles in indexed PNGs. I’ve used the spec argument above just to reinforce my point. But, to be honest, I don’t care for the spec as such. Imagine an indexed PNG with just one, red colour. Wouldn’t you want to know if that red is in sRGB or ProPhotoRGB?!

Regards

m.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 22, 2017 Oct 22, 2017

Copy link to clipboard

Copied

Colour profiles are supported for all PNG types (indexed included)

Well, maybe, I don't know. But if you're concerned with color accuracy, you wouldn't use indexed color in the first place. And vice versa.

Imagine an indexed PNG with just one, red colour. Wouldn’t you want to know if that red is in sRGB or ProPhotoRGB?!

Again, maybe. Same argument as hex color: an indexed PNG can be safely assumed to be intended for an sRGB environment.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 22, 2017 Oct 22, 2017

Copy link to clipboard

Copied

In photoshop cc 2018 have you tried File>Export>Save for Web?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 22, 2017 Oct 22, 2017

Copy link to clipboard

Copied

Hi,

if you're concerned with color accuracy, you wouldn't use indexed color in the first place

I respectfully disagree. PNG8 is still the only (sane) way to support images with transparency in some popular browsers (it doesn’t help that Photoshop doesn’t natively support JXR, WebP and only partly supports JP2). Why these images have to suffer unpredictable saturation shifts by being misinterpreted as being in display device’s space because of the lack of colour information?

an indexed PNG can be safely assumed to be intended for an sRGB environment

Yeah, that’s what the web specs say for years (about untagged imagery in general). Unfortunately browsers (and other applications/OSes) do not correctly assume sRGB for untagged images (situation is changing for the better as we speak, but still). Why would Photoshop want to add to that confusion? Again: even if that’s a (wrong) concious decision, UI suggests differently and is misleading.

In photoshop cc 2018 have you tried File>Export>Save for Web?

Thanks, Jeff. Save for Web has it’s own set quirks when it comes to colour profiles :-). But, crucially, its support for PNG8 is miserable compared to Export As... (only 1-bit transparency allowed).

I just thought it may be a good time to get engineer’s attention, which I’ve tried using different channels for a while now, as the PNG code was definitely touched in CC 2018 and better support for PNG is being advertised ;-).

Maybe it would be prudent to make Photoshop correctly recognise sRGB PNG chunks and then always use those when writing PNGs in sRGB colour space instead of unnecessarily weighty iCCP chunks, too (2,6KB extra)? For the files to be smaller, but also to avoid long-standing issues like Original sRGB profile is not correctly recognised as such by IM/libpng (culprit: pngcrush code to deal with it​?). But here, I’m a newbie and this is way above my understanding...

Regards

m.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 22, 2017 Oct 22, 2017

Copy link to clipboard

Copied

Unfortunately browsers (and other applications/OSes) do not correctly assume sRGB for untagged images\

Firefox has done that for many years (with the mode 1 setting), and I hear Chrome and Opera do it too now. On Mac, Safari has to do it, ever since Apple started fitting the iMacs and MBPs with wide gamut displays.

So that basically just leaves Edge/IE - but Microsoft's browsers have always been known for their lacking color management support. Nothing new there.

The OS isn't supposed to assume anything. This is called by the application, not the OS - it's just supposed to make the profiles available when the application requests it.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jan 14, 2021 Jan 14, 2021

Copy link to clipboard

Copied

It does not support gAMMA chunks too. And example (with gAMA chunk 50 (that is encoding gamma 0.02)): https://superuser.com/questions/579216/why-does-this-png-image-display-differently-in-chrome-firefox...

You can use exiftool to see it.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Jan 15, 2021 Jan 15, 2021

Copy link to clipboard

Copied

A few things to clear up in this old thread from 2017, as some of the things I wrote back then aren't correct. Or not correct anymore, they may have changed.

 

PNG icc profile support is indeed very inconsistent in Photoshop, and I'm sure a lot of it qualifies as bugs.

  • Save As PNG will not embed the profile if that profile happens to be sRGB. Which is of course the profile you need in almost all cases. All other profiles are correctly embedded.
  • Export and Save For Web both embed profiles correctly. However, the "embed profile" checkbox is not only off by default - but in Export it doesn't even stick when you check it. You have to do it every time (!).

 

As for web browsers, there's been some significant changes. The most important one is that Microsoft Edge now has full color management, and it has also adopted the policy of assigning sRGB to untagged material, not only images, but all page elements. This means all major web browsers should now display everything correctly, with full color management everywhere. The only browser lagging a little behind is Firefox, where you still have to manually enable the "assign sRGB" function (mode 1).

 

This also means that for web, embedding the profile is no longer strictly necessary. However, most standard image viewers still require a profile, if they support color management at all. Considering that an sRGB profile is only 3kB, there is absolutely no reason to not embed. It's still the only way to maximize the chances of correct representation.

 

The original question was about 8-bit indexed PNGs. Whether icc profile support is technically possible with indexed color is moot and beside the point. It simply makes no sense, and if accurate color is a consideration you don't use indexed color.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jan 15, 2021 Jan 15, 2021

Copy link to clipboard

Copied

For web the standard mandates that images without iCCP (icc) or gAMA chunks (gamma) (for png) or sRGB chunk and others are parsed as sRGB. That is mandatory, firefox is breaking the standrd here, there is a bug in firefox and you can activate about:config to 1. Anyway, GIMP also does not support gAMA chunk, there is an open bug there too.

 

For other apps, it is technically should be like that too, no standard exist, of course.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 27, 2021 Oct 27, 2021

Copy link to clipboard

Copied

A few things to clear up in this old thread updated in 2021 as some of the things said are incorrect and some other things have changed.

 

quote

The original question was about 8-bit indexed PNGs. Whether icc profile support is technically possible with indexed color is moot and beside the point. It simply makes no sense, and if accurate color is a consideration you don't use indexed color.


By @D Fosse

 

This probably imagines a beautiful full-colour image being degraded by 8-bit indexed colour and the assumption is made that such a degradation trumps the fact that the colour is incorrect because of missing/incorrect profiles. This is a misunderstanding. To see why, imagine a flat one-colour, red PNG8. This red colour will appear wildly different depending on the image colour space, so correctly embedded profiles are as crucial as for any beautiful image. So ICC profile support is as important for indexed colour as for any other image mode. What is of course very true, is that no one sane would ever use indexed colour for any images that won’t benefit from it (practically: in a web delivery), but this has nothing to do with colour management…

 

Things have changed in version 23.0, but not always for the better (better colour management of Export As… is advertised in Release notes). sRGB profiles are again allowed to be embedded in PNG images via Save As… (yay!), but instead of a tiny sRGB chunk a bloated 2,6KB sRGB profile is saved (boo! both Export As… and Save As…). sRGB chunks are still not recognised when opening PNG images (boo!). Some ICC profiles are now correctly saved via Save As… and Export As… including for indexed PNG8 (yay!), but some others – aren’t, like standard Photoshop greyscale ones (boo!; eg. Dot Gain 20% or Gray Gamma 1.8 is replaced with an sRGB profile, sic!). Bundled pngquant is still 7 years old… Hopefully, this thread won’t live to such an old age 😉

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 28, 2021 Oct 28, 2021

Copy link to clipboard

Copied

Yes, Save As now embeds sRGB correctly in PNG. That's a major and important fix!

 

There was also a bug in Export that prevented correctly color managed display in the dialog. That's also fixed now, excellent.

 

There remains an overriding problem in Export: the "embed profile"-box is still unchecked by default, and it still doesn't stick when you check it. Fix that, and I might start using it. Nowadays there's no reason to not have it checked. Checked should be default, unchecked optional.

 

Grayscale profiles converted to sRGB makes perfect sense and I fully agree with that policy. Not a single application that I know of outside Photoshop will color manage grayscale correctly. These profiles are randomly treated everywhere, whether they are embedded or not. And the results are all over the map. Grayscale profiles on the internet would be chaos.

 

The standard sRGB IEC61966-2.1 profile is about 3kB, which is nothing of practical significance. I've no idea what you mean by "chunks". If it's a small icon, 3 kB makes a difference, granted, but then you can still uncheck the box.

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 28, 2021 Oct 28, 2021

Copy link to clipboard

Copied

witkacy_0-1635434433069.png

Grayscale profiles converted to sRGB makes perfect sense and I fully agree with that policy.

By @D Fosse

 

I do not, but that’s beside the point. Current behaviour is incorrect and needs fixing. Any colour managed application deals with them correctly. Silent conversion (if it even is a conversion and not just misattribution, I haven’t checked), despite clear UI signals to the contrary (Convert to sRGB unchecked) adds confusion to the incorrect behaviour. Even if there would be applications that have problems with grayscale profiles that would not be a reason for Photoshop to be incorrect. If only because we would be reading on their forums that “even Photoshop cannot get that right, what would you expect?!”.

witkacy_1-1635434433069.png

 

The standard sRGB IEC61966-2.1 profile is about 3kB, which is nothing of practical significance.

 

On the web every byte matters. Not being able to correctly support a 25 year old specification in the major commercial product is just weak. Even more so, because the limitation was known for years and this area was recently looked at (and improvements advertised).

 

witkacy_0-1635429750113.png

I've no idea what you mean by "chunks".

 

Standard building blocks of the file fomat we are discussing here. Here is a definition of a sRGB chunk.

 

witkacy_0-1635429750113.png

If it's a small icon, 3 kB makes a difference, granted, but then you can still uncheck the box.

 

Again, the whole thread discusses the need to correctly embed colour profile information, so unchecking the box is not a viable option. For a PNG in sRGB colour space correct colour profile information is stored in a sRGB chunk, if only because of the file size savings it brings. Even more so because Export As… is advertised as a tool for creating optimised assets for the web etc.

 

I agree with you, D Fosse, that the state of the checkboxes should be remembered in the Export As… command!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 31, 2021 Oct 31, 2021

Copy link to clipboard

Copied

LATEST

DFosse: "There remains an overriding problem in Export: the "embed profile"-box is still unchecked by default, and it still doesn't stick when you check it. Fix that, and I might start using it. Nowadays there's no reason to not have it checked. Checked should be default, unchecked optional."

 

Absolutely, there's no way embed should be unchecked, saving with the profile should always be the default I totally agree

 

I hope this helps
neil barstow, colourmanagement net :: adobe forum volunteer

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Oct 28, 2021 Oct 28, 2021

Copy link to clipboard

Copied

Witcasy

 

         "ICC profile support is as important for indexed colour as for any other image mode."

totally agree - since continuity of colour appearance relies entirely on embedded profiles (yeah, ideally small ones, especially for web) it seems ridiculous that ANY image format is unable to support them in Adobe apps.

 


neil barstow, colourmanagement net :: adobe forum volunteer
google me "neil barstow colourmanagement" for lots of free articles on colour management
[please only use the blue reply button at the top of the page, this maintains the original thread title and chronological order of posts]

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Oct 29, 2021 Oct 29, 2021

Copy link to clipboard

Copied

GIMP now support gAMA chunk!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines