Unless you’re going to spend major bucks on a completely calibrated, closed-loop system, there’s always going to be a fair amount of difference between what you see on screen and what you see on paper. Even if you do spend the time and money, there’s still going to be some difference since in the first case you’re dealing with transmitted light from red, green, and blue phosphors glowing, while in the second you’re dealing with light reflected off of cyan, magenta, yellow, and black inks laid over a paper substrate of some color approaching white. Neither method can reproduce the entire range of color visible to the human eye, and there are many colors that are possible in one model and not the other.
The “.ICM” thing is an ICC (International Color Consortium) color profile, part of a desultory attempt by Microsoft to do something to help with the problem of color management on Windows systems. The Windows color management system is a bad implementation of a mediocre CMM. Generally, it’s not worth bothering with for a non-expert, particularly since for ICC profiles and the color management systems that use them to be effective, each link in the chain from creation to reproduction of the image needs to be profiled to determine its gamut (the range of colors it can reproduce accurately) and its accuracy (how closely the device comes to reproducing a specific color when directed to do so). The profile may well differ even for the same device under different circumstances; for example, changing the brand or type of paper used in the printer will certain result in different color reproduction characteristics. The canned profiles that ship with most printers describe some fictitious average printer of that model (or worse, the specific instance that the manufacturer happened to test), and will describe the actual performance of your printer only by the rarest of coincidences.
If you’re serious about this, the best free general introduction to color reproduction theory that I know of is at the web site of A to Z Color Consulting. It’s a technically detailed description of the basic issues in color reproduction that is nevertheless accessible for a layperson.
In the meantime, you can start by making sure the information you’re feeding the printer is of the highest possible quality. If the image editing program you’re using allows you to “sample” the color values at a particular point on your screen (i.e., actually see numeric values for the red, green, and blue components), find an area of the image that is close to a pure white and adjust the color balance until the values for red, green, and blue are fairly closely balanced. This will help ensure that, whatever you may see on screen, the actual color balance in the data you send to the printer is close to the actual balance in the image.
If you’re using Adobe Photoshop (and you should be if you’re going to do much of this sort of thing), instead of the above, select Image menu–>Adjust–>Levels (or just type Control-L). In the levels dialog, select each color channel (red, green, blue) in turn, and do the following. In the histogram (the sort of bar graph displayed in the levels dialog), look at each end of the range. If you note that the graph drops off to nothing or near nothing at a point before the endpoint of the graph, click on the the little triangle-shaped slider underneath the graph and pull in toward the middle of graph until it’s approximately aligned with the point in the graph at which the values begin to trend upward (I realize this is hard to describe, but it should make sense if you’re actually looking at it). Repeat for the other end of the graph. Do this for each of the three color channels. After doing this, you should have an image that has much greater color balance, better dynamic range, and that looks somewhat sharper than the original. Now, you should mess it up a litte. No ink-on-paper printer can actually reproduce values at the extreme light and dark ends of the scale, so we want to adjust the output levels of the overall image so that they’re compressed into a somewhat smaller range. Also in levels dialog, there’s another slider for output levels, with fields for directly entering values above it. For a typical ink-jet printer, you should probably set the output levels to 10 and 240-245, instead of 0 and 255. This means that the output image will have no area that is whiter than about 5% (where 0% would be pure white) and none darker than about 90% (where 100% would be solid)-- when your printer tries to print this, the ink will actually fill in some in the darkest areas, making them closer to 100%. The 5% tone in the light areas will keep the image from looking “blown out” in the very lightest areas.
As you experiment, you’ll gain a sense of how your printer actually performs, and you’ll learn never to trust what you see on your monitor. You’ll do yourself a big favor if you’ll try to ensure that the light in your work area is consistent, no matter what time of the day or night you’re working, and if you do much of this you may want to try a daylight-balanced light in this area (though it’s not worth spending a lot of money on – anything short of calibrated 5000 degree Kelvin lights are going to affect your color perception somewhat.
If you’d care to pass along what you’re using to acquire images (make and model of digital camera, scanner, etc.), the make and model of your printer, and the software you’re using for image editing, I’ll try to make some more specific recommendations.
“Ain’t no man can avoid being born average, but there ain’t no man got to be common.” –Satchel Paige