[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: The sRGB color space
Hi cgmo-webcgm, There were talks about sRGB and RGB during our last FTF meeting. I asked a friend (no affiliation) of mine a few questions on the matter: Question: WebCGM 1.0 allows for RGB and sRGB color spaces, there are talks of deprecating the sRGB color space. I'm wondering if implementations are not using sRGB without knowing it? Answer: "RGB isn't a color space. It's just raw data that probably just gets sent to the display hardware directly, which may or may not have a color space close to sRGB (depends on whether it's a CRT, what correction curves the video card is using, etc.). So yes, using raw RGB is sort of like using sRGB, as long as you're displaying the image on a CRT and the video card's gamma correction is set close to 1. It may make sense to deprecate sRGB (or color management in general) for the types of applications CGM has mostly been used for, but if CGM docs are ever going to be printed in color, or expected to match CSS colors on a web page, for example, it would be a good idea to encourage the use of sRGB. Color calibration may also become more important as more people use non-CRT displays. Unless sRGB is the default color space, CGM implementations are probably NOT using it, just uncalibrated RGB, which isn't the same thing." Question: A PNG image is expressed in sRGB right? I know it doesn't support embedded ICC profiles so it has to be sRGB. Right? If I take a PNG and display it on screen with the traditional createDIBSection, BitBlt methods, am I not in fact assuming that the source in is sRGB values? Answer: "PNG data isn't sRGB in general (here's the spec: http://www.w3.org/TR/REC-png-multi.html). By default the colors are uncalibrated, but there can be optional gamma and color correction data. I don't know whether that data is sufficient to calibrate it as sRGB. A lot of apps probably ignore or mishandle the calibration data if it's present - for example, you might want to read this article (http://hsivonen.iki.fi/png-gamma/) that I came across a few days ago." Question: If you create a bitmap and set the RGBQUAD to be (0,0,255), aren't those values expected to be in sRGB. Answer: "I had a quick look at the color management docs for Windows. Search for the page with title "Using GDI Functions With ICM". Some functions use CMM, others don't. E.g. SetDIBitsToDevice Color management is performed. If the specified BITMAPINFO structure is not version 4 or version 5, the color profile of the current device context is used as the source color space profile. If it doesn't have one, the sRGB color space is used. If the specified BITMAPINFO structure is version 4 or version 5, the color space profile associated with the bitmap is used as the source color space. The DC has to be enabled for CMM (I don't know how exactly - I've never read any of these docs). Most apps probably don't use it, in which case all bitmaps RGB values are device-dependent (i.e. uncalibrated). Note that in the description of SetDIBitsToDevice it says the bitmap's color space is considered to be the same as the DC's for version <= 3, which means no color correction will be done, so it's equivalent to having CMM turned off. In other words the RGB values are equivalent to uncalibrated, NOT sRGB. In summary, it looks like colors are not assumed to be sRGB when unspecified - they're treated as uncalibrated." Regards, -- Benoit mailto:benoit@itedo.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]