We have a brand new look! Take a tour with us and explore the latest updates on Adobe Support Community.
I'll lead with the question, then go onto details:
How can I switch between 32bit mode and 16bit mode (bi-directional) without Photoshop altering my pixels (other than rounding, of course) and/or maintaining my current color profile?
My ultimate goal is to be able to open a 16-bit PNG with an embedded ICC profile (something custom but reasonable, although this repros with sRGB), work in 32bit mode for a while (taking advantage of the exposure-based color picker and whatnot), but then save out my altered file as a 16-bit PNG again with the original ICC profile. A contrived example would be loading an interesting PNG, switch to 32bit, draw a rectangle on top of it, switch back to 16 bit, then SaveAs and seeing any pixel I didn't draw on top of as the same values, and the ICC profile retained.
Here's a repro which should explain why either my steps or expectations are wrong. I'm not too great at Photoshop, so I'm pretty sure I'm missing some important pieces here:
* Create a new 32bit RGB image, using any builtin color profile (sRGB repros, although I do use my own profiles)
* Fill the image by drawing a green rgb32(0.0, 1.0, 0.0) rectangle
* Merge down (so that there is only one layer full of green)
* Note that the sampled pixel is correct: rgb32(0, 1, 0)
* Choose Image/Mode/16-bit
* In the HDR Toning window, choose the Exposure and Gamma Method, leave the default values (0.0 and 1.0), but do not hit enter yet
* Note in the Info panel that the preview values suggest that the pixels won't change
* Hit OK in the HDR Toning panel
* Note that the pixels are no longer rgb32(0, 1, 0)
My wild guess here is that 32bit mode operates under an implicit color profile (which might be documented somewhere?), and rgb32(0,1,0) is outside of the bounds of any of the color profiles I use. This seems odd as it appears that I can Assign a color profile while in 32bit mode, and also that my color profile appears to be my original space after returning to 16bit mode.
What am I missing?
Hmmm, suspicious findings when playing around a bit more.
If I generate myself a simple matrix based profile with a 1.0 gamma and set it as my RGB Working Space, conversion between 16 bit and 32 bit goes much smoother. This feels like quite a gotcha. I'll keep playing around and report back.
It appears that the RGB Working Space is the implicit destination color profile when converting from 32bit to 16bit. If I set my working space to the source image's working space, convert to 32bit, then convert back (no merge, skipping the HDR Toning dialog), it leaves the pixels somewhat intact. They're all off by a tiny margin (1-3 codepoints), despite not performing any actions in 32bit mode.
At this point I don't have any confidence in maintaining the fidelity of the image when switching to 32bit mode. Is there any documentation I should be reading?
Here is a very boring 16-bit sRGB PNG whose RGB values are all #020304.
With my working space set to sRGB (the same as the image), simply engaging 32-bit mode in Photoshop sets all of these pixels to black (0,0,0). Help!
What is shown as the Lab values before and after converting to 32-bit? As I understand it converting to 32-bit is not just a matter of sticking in an extra 16-bits but is a colour conversion to a standardised ultra-wide gamut space.
I think the values I saw in the black image were simply a precision thing in the Info panel, the values seem to be maintained when switching 16 -> 32bit if I have my working space gamut match my source image's gamut.
Is there no way to choose a gamma other than 1.0 for 32-bit? It seems like it'll lead to some counter-intuitive color picking and gradients if they can't operate in a more perceptually linear gamma.
Hello, I moved this to the main Ps forum, as is it not related to export.