Maintaining Colors/Profile when switching 32bit -> 16bit
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?
