It's not considered spam by Google in small doses if you are simply replacing text in the HTML with an image. This is standard practice and is used heavily across the web.
There are loads of different ways to achieve this. Here's some examples of different techniques ...
http://www.mezzoblue.com/tests/revis...e-replacement/
The standard route is simply to give a block element a background image and place text inside that block element within a tag (usually a span) which is set to display:none. The disadvantage of this method though, is that your visitors won't be able to see the text until the images have fully loaded or won't be able to see them at all if they have their browser set not to download images. This may or may not be a problem depending on what you are trying to do. Here's an example of this technique in action:
Code:
<h1><span>Image Replacement</span></h1>
Then in your CSS you would have:
Code:
h1 {
background:url('imagereplacement.png');
width:400px;
height:100px;
}
h1 span {
display:none;
}
I would be cautious of replacing whole blocks of text though, as that may set of alarm bells with search engines. Headings, menus and other small pieces of text shouldn't be a big deal though.