Hi,
1) What kind of of RGB colorspace Photoshop uses internally sRGB, adobeRGB etc.?
Basically in/from what colorspace should i convert data in m,y format plug-in on rear/write?
Is it the same colorspase for all 8/16/32 bit modes?
2) What is the date range for 16 bit mode? is it u16 from 0-32K or from 0 to 64K?
Thank you.
Hi,
Thank you for the prompt answer.
1) Do you mean icc profile imbedded in image file or used by default by photoshop?
How to parse it? I see API for loading/store ICC and that is it. Please advice.
I found some references to ACE API on "Acrobat SDK" forum, can I use this library for photoshop plugin?
The colorspace of a document is the ICC profile assigned to the document (via embedded profile, default logic, or explicit assignment/conversion).
Generally, you should not be trying to parse the profile -- but the binary profile is made available to the plugins, and some colorspace/model conversion callbacks are provided.
Photoshop does not expose all of ACE to plugins like Acrobat.
Hi Chris,
1) You meant "Color Management API":
?
Is this it? Can I find any samples on this topic?
2) One more question. How to work with Exif metadata. Is there any specific API, any samples?
I really appreciate your advices.
Thank you.
1) Yes, those are some of the color conversion callbacks. The SDK documents them, but I don't know if there are many examples of their use.
2) I don't think we expose EXIF directly, but think we have some hooks for working with XMP metadata (which should include all the EXIF data except undocumented maker notes).
Hi Chris,
Can you please explain to me how should I work with 32-bit mode data in format plugin?
In 32-bit mode Edit -> Convert to profile... is hidden; Why? Does this mean that in 32-bit mode the actual data I retrieve on DoWrite has no icc profile associated with it?
For instance, I noticed that if I convert an image from 32-bit mode to 16-bit mode and read the data on DoWrite, the 16-bit mode will have gamma already applied to it but the same data in 32-bit mode doesn't.
And if I convert the same 16-bit data back to 32-bit mode Photoshop reapplies gamma.
I can see in Photoshop that the interpretation is different between the 16-bit and 32-bit data, is it safe to assume that both formats and their profiles will work identically in other libraries?
Also are the two formats, with their corresponding profiles, uniform or will there be discrepancies after conversion?
The question is if I get data and icc in 32-bit mode from Photoshop can I use the retrieved icc profile to do color space conversion let’s say with third part library or not?
Please advise.
Thank you,
Vlad
32 bit data in Photoshop is HDR, floating point data. It has no defined range, and ICC profiles can't support that yet.
So we support only a limited subset of profiles for 32 bit data.
All documents in Photoshop have a profile associated with them.
the 16-bit mode will have gamma already applied to it
Ok, that makes no sense.
The image data has an encoding defined by it's profile, there is nothing "already applied".
Yes, 32 bit data is gamma 1.0 (linear) -- because floating point data is already pseudo-log encoded and doesn't need additional gamma encoding. (adding gamma encoding to floating point data is probably going to do damage to your image quality)
Hi Chris,
Thank you for the prompt reply,
But I’m still guessing how I should work with the 32-bit mode. Is there any rule of thumb/use case on this topic?
Let’s say in 32-bit mode, I’m getting from photoshop some data and an icc profile, however you mentioned that “ICC profiles can't support that yet”.
Does it mean that I should always skip the profile because this is a “bogus” profile.
On the other hand you are saying: We support only a limited subset of profiles for 32-bit data.
Which means that in some cases the icc profile has some association with data.
So I’m divided.
To simplify my question: I need to transfer the 32-bit photoshop image to my color space, the library function (“little CMS”) needs two profiles, input and output. Can I safely, in 100% of cases, use the icc profile which I retrieved from photoshop with the data in the library function or not?
Thank you for your patience.
2) One more question. How to work with Exif metadata. Is there any specific API, any samples?
There’s an 'EXIF' key in the document descriptor (at least since CS4, so it was also there when this thread started). I'm pretty sure it is read only, but, to take the example of a friend's iphone camera picture, its content string looks like this:
EXIF tag 100001 N
EXIF tag 100002 37.00 45.98' 0.00"
EXIF tag 100003 W
EXIF tag 100004 122.00 25.18' 0.00"
EXIF tag 100005 0
EXIF tag 100006 20.00m
EXIF tag 100007 23:18:5494
EXIF tag 100016 True Direction
EXIF tag 100017 220.65
EXIF tag 100256 1936
EXIF tag 100257 2592
EXIF tag 100258 8 8 8
EXIF tag 100262 RGB
EXIF tag 100271 Apple
EXIF tag 100272 iPhone 4
EXIF tag 100274 Rotate 90
EXIF tag 100277 3
EXIF tag 100282 72.0
EXIF tag 100283 72.0
EXIF tag 100296 Inches
EXIF tag 100305 5.0.1
EXIF tag 100306 2012:02:27 15:18:55
EXIF tag 100531 Centered
EXIF tag 133434 1/125 sec
EXIF tag 133437 f/2.8
EXIF tag 134850 Normal program
EXIF tag 134855 80
EXIF tag 136864 0221
EXIF tag 136867 2012:02:27 15:18:55
EXIF tag 136868 2012:02:27 15:18:55
EXIF tag 137121 yCbCr
EXIF tag 137377 1/125 sec
EXIF tag 137378 f/2.8
EXIF tag 137379 6.04
EXIF tag 137383 Pattern
EXIF tag 137385 24
EXIF tag 137386 3.8 mm
EXIF tag 137396 1295 967 699 696
EXIF tag 140960 0100
EXIF tag 140961 sRGB
EXIF tag 140962 2592
EXIF tag 140963 1936
EXIF tag 141495 One-chip color area sensor
EXIF tag 141986 Auto
EXIF tag 141987 Auto
EXIF tag 141990 Standard
EXIF tag 141994 HardNorth America
Europe, Middle East and Africa
Asia Pacific