wwwvsoftsnet oldroad

Make QR Code ISO/IEC18004 In Visual Studio .NETUsing Barcode generator for VS .NET Control to generate, create Quick Response Code image in Visual Studio .NET applications.

these color values are known for the display image as well, it is possible to convert them to the corresponding RGB values for the display device so that the image will be displayed using the original colors This assumes that the display device can actually display all of the XYZ colors in the image something that is not always the case

Reading QR Code In VS .NETUsing Barcode recognizer for Visual Studio .NET Control to read, scan read, scan image in VS .NET applications.

Vendors of monitors for personal computers rarely include the monitors' XYZ values with the documentation They generally have this information available if you ask them directly

Generate Barcode In .NETUsing Barcode generation for .NET Control to generate, create bar code image in VS .NET applications.

To make things even more confusing, the makers of monitors list the colors using a colorspace related to XYZ, known as xyY, which is a projection of the XYZ colorspace into two dimensions The relationship between the xyY and XYZ colorspace is Equation 131 xyY/XYZ Colorspace Conversion

Reading Bar Code In Visual Studio .NETUsing Barcode reader for Visual Studio .NET Control to read, scan read, scan image in .NET applications.

Projecting the XYZ colorspace into two dimensions allows all possible colors to be represented on a piece of paper, although with the loss of luminance or brightness possibilities Figure 133 illustrates the xyY colorspace The black triangle in the center represents the gamut, or range, of colors that can be displayed by a typical computer monitor This triangular range is only a small subset of the visible colors The gamut available to a particular device can vary substantially For example, the gamut that can be displayed by the typical desktop color printer is a bit different than that for a computer monitor One of the reasons colors are not generally encoded within image files using XYZ colorspace is that it requires much more precision in the data Using RGB, the data precision is only such that the possible colors for the device can be represented Since XYZ covers all possible visible colors rather than the small subset a device can show, it requires more data bits to encode The solution used by PNG is to encode values using RGB and create chunks that allow a decoder to determine the colors that were actually used at the source When I contacted the manufacturer of my monitors, the information they gave me was:

QR Code 2d Barcode Maker In C#Using Barcode printer for Visual Studio .NET Control to generate, create QR Code image in .NET applications.

wwwvsoftsnet oldroad

Creating Quick Response Code In Visual Studio .NETUsing Barcode generation for ASP.NET Control to generate, create QR Code ISO/IEC18004 image in ASP.NET applications.

Device-Independent Color

QR Code 2d Barcode Generator In VB.NETUsing Barcode encoder for .NET Control to generate, create Quick Response Code image in .NET applications.

Figure 133 xyY Colorspace

Draw UCC - 12 In VS .NETUsing Barcode printer for .NET Control to generate, create UPC Symbol image in .NET applications.

Monitor 1

Making Code 128 In .NET FrameworkUsing Barcode generator for .NET framework Control to generate, create USS Code 128 image in .NET framework applications.

x y 612 Red 353 Green 293 595 149 Blue 068 White Point: 9300K

Print Data Matrix 2d Barcode In .NETUsing Barcode creation for VS .NET Control to generate, create Data Matrix 2d barcode image in .NET applications.

Monitor 2

Barcode Encoder In .NETUsing Barcode printer for VS .NET Control to generate, create bar code image in Visual Studio .NET applications.

x y Red 625 340 Green 280 595 Blue 155 070 White Point: 9300K

EAN8 Generation In .NETUsing Barcode creator for .NET Control to generate, create EAN-8 image in .NET framework applications.

Display devices are normally built so that the white point falls on or close to a set of data points known as the black body curve 9300K is a standard white point value for a computer monitor that has an xy value of (0285, 0293) The Y value is implicitly 10 The white point in the XYZ colorspace is, then, X = 0973 Y=1 Z = 1440 for both monitors

Making UPC Symbol In JavaUsing Barcode creation for Java Control to generate, create UPC-A image in Java applications.

wwwvsoftsnet oldroad

Barcode Maker In .NETUsing Barcode printer for ASP.NET Control to generate, create barcode image in ASP.NET applications.

The conversion from RGB to XYZ is a matrix multiplication of the form Equation 132 RGB to XYZ Conversion where CR, CG, and CB are constants and the RGB values have been scaled to the range 0-10 The trick now is to find the values of these three constants If we substitute the xy values for the first monitor into Equation 132 we get Equation 133

Decode Code 3 Of 9 In VS .NETUsing Barcode scanner for .NET Control to read, scan read, scan image in .NET applications.

We already calculated the white point XYZ coordinate and we know that the RGB value of the white point is (10, 10, 10) If we substitute that into the previous equation we get Equation 134

Data Matrix ECC200 Generation In JavaUsing Barcode generation for Java Control to generate, create Data Matrix image in Java applications.

which can be factored into Equation 735

Code 3 Of 9 Creator In JavaUsing Barcode drawer for Java Control to generate, create USS Code 39 image in Java applications.

This is a set of three linear equations with three unknown variables We can now solve for CR, CG, and CB, which gives (0698, 1094, 1512) This makes the transform from RGB to XYZ for this monitor Equation 736

EAN 13 Scanner In .NETUsing Barcode scanner for VS .NET Control to read, scan read, scan image in VS .NET applications.

To convert from XYZ back to RGB you have to invert the transform matrix The easiest method is to use a Gaussian elimination Row reduction and matrix inversions are beyond the scope of this book, but you will find an explanation of these techniques in any book on linear algebra, such as Anton (1981) This is the inverse function for the first monitor Equation 137

Recognizing Barcode In .NET FrameworkUsing Barcode recognizer for .NET framework Control to read, scan read, scan image in .NET applications.

GS1 128 Printer In JavaUsing Barcode creator for Java Control to generate, create GS1 128 image in Java applications.