The following is from a question posted in a newsgroup message in rec.photo.digital.
> I have a dye-sublimination printer, and even though the quality
> is excellent for a printer, I am often disappointed that I
> don't get WYSIWYG from my monitor to my printer.
It's a very good question, and Kevin Cazabon posted an informative response about a difficult problem, that I copy here with permission. It refers to Adobe Photoshop, but it contains a description of some of the aspects that should be of interest, whether we use Photoshop or not.
You ask the age old question of Color Management...
What you're trying to do is the aim of many different solutions, but nothing that's as easy as adjusting the balance of your monitor. Adobe Photoshop comes with a utility which allows you to adjust the Gamma, White Point, Black Point, Mid Tone Point, and the color balance of each of those areas (Gamma control panel for Mac, Monitor Setup in PC), but that STILL has a long way to go to be able to make your monitor MATCH your printer.
The basic underlying problem is that of Color Gamut: the range of colors that a device is capable of displaying/printing. A monitor has the ability to display certain colors very well, but the range is limited due to the phosphors, the nature of the design of CRT tubes, the contrast range, etc. It uses RGB data (or HSB data) (HSB (HSB - Hue, Saturation, Brightness, Wayne) to produce these colors, and the RGB color space in itself has a particular range or gamut.
When you send an image to your printer, if it's a typical dye-sub printer, it doesn't even use the same color space as your monitor: it uses 4 colors (Cyan, Magenta, Yellow, and Black) to produce it's images, and the CMYK color gamut is significantly different from RGB. CMYK can produce a few colors that are simply beyond the capability of RGB, but overall the CMYK color gamut is much smaller than the RGB one.
The simplest way to prove this is to take a single color which I KNOW you will never to produce on your printer: pure numerical green (0, 255, 0). It'll look a very bright, saturated, lime green on your monitor, but will probably reproduce as a deep forest green on the printer. Every time.
Now, there are ways of mapping the color space of two devices together, but here's where it gets tricky.
First, if you're printing to a CMYK device from Photoshop, before you print, go to the "View" menu, and select "CMYK preview". You'll notice it does some calculations, then the color on the screen will change to give you an approximation of the CMYK response to that data. You can also have the "Out Of Gamut" colors highlighted with a warning color this way so they are easily identifiable. This color change is only to the screen image, not to the original data, and the amount of change is based on the Printing Inks Setup under the Color Preferences menu.
You can spend a long time tweaking the Printing Inks Setup to get the CMYK preview to match the output you are getting, but the default will be a good approximation for many devices.
You'll also notice something else in Photoshop: when you're selecting a color in the palette, you might see a little triangle with an exclamation point in it appear: this is a warning that the color you've selected is outside of the color gamut of a typical CMYK output device (once again based on your Printing Inks Setup). You can also use the EyeDropper tool to check colors in your image.
For typical home use, this arrangement will usually do, but for professional color matching, you must look into a type of Color Management software. These software packages are currently only available for the Macintosh system due to the easier integration of color management into the Operating System, but there's work being done on PC versions.
A typical color management system consists of a program that creates "Device Profiles" which measure the color gamut and color response of each device individually (or, in specific combinations, but this is not preferred). Usually, you scan a reference target supplied to you (or bought separately from Kodak or whoever, like a "Q60 reference image", based on a standard IT8 target), then run the resulting data through the program.
The program knows what the data is SUPPOSED to look like (through a reference data file provided with the test image), so it can calculate the response of your device and create an "Input Profile".
You then print a test image (from known data provided through the color management software), and read the resulting print into the computer through either a previously calibrated scanner or a separate "Spectrophotometer" (preferred). From this, the program knows the response of your printer, and calculates an "Output Profile".
Now, that takes care of everything except the monitor... always a tricky point. The only way to set a monitor balance properly is to use a special type of monitor calibrator (such as some spectrophotometers or special devices sold for or with high-end monitors) which suction-cups onto the screen. The program then displays many ranges of colors and measures the monitor's output to create a monitor profile which can be used for several things: First, the program can calculate an Adobe Photoshop Monitor Profile, which can be used within Photoshop, it can create (for the mac) a system monitor setup, and it can create a Monitor Soft Proofing Profile.
The soft proofing profile is the most useful, because it's used usually within the color management software itself. If you've calibrated all of your devices, it knows the entire range of colors that each device can produce, and it can restrict the larger-gamut devices to the color range of the smaller-gamut ones, producing the most accurate on-screen approximations.
Anyways, the idea is that you filter your image data through the "Input Profile" for your input device when you scan the image. This turns the "Device Dependent Color Space" from your scanner into "Device Independent Color Space", which should be universal.
You use the monitor profiles to simulate the best approximation of the actual data onscreen, although you're still limited to the gamut of your monitor, which lacks in some areas.
You then filter the data through the "output Profile" for the printer you will use to turn in back into "Device Depandent Color Space", and print it.
Hope all that ramble helps... I'm actually in the middle of writing a book on the subject, so you asked at a good time.
Adobe Certified Instructor for Adobe Photoshop 4.0