Replacing menu items with images
You can use the Menu Icons module to implement the functionality you are looking for - I've done this multiple times.

You simply need to customize the menu_icons_css_item.tpl.php file so that the image is displayed using the CSS image replacement technique rather than positioning the image as an icon-like background. For roll-over functionality, each image you upload with the image icon module would need to include the static and roll-over versions of the menu image.

Here is sample content of a menu_icon_css_item.tpl.php file I've used before. This is for Drupal 6, so some of the syntax may need to be updated if you are using Drupal 7.

&lt;?php
$base_url = $_SERVER['DOCUMENT_ROOT'];
$image_info = getimagesize($base_url.$path);
$width = $image_info[0];
$height = $image_info[1]/2;
?&gt;

ul.links li.menu-&lt;?php print $mlid ?&gt; a {
  background-image: url(&lt;?php print $path ?&gt;);
  background-repeat: no-repeat;
  background-position: 0 0;
  height:&lt;?php print $height?&gt;px;
  text-align: left;
  text-indent: -9999px;
  width: &lt;?php print $width?&gt;px;
}

ul.links li.menu-&lt;?php print $mlid ?&gt; a:hover {
  background-position: 0 &lt;?php print $height?&gt;px;
}


After you've created a customer menu_icons_css_item.tpl.php file in your theme, you will need to delete the CSS file that the Menu Icons module previously generated, so that it will generate a new file using this template. It should be in your sites/default/files folder.

Of course, if you do not need to allow site admins to update menu item images via the Drupal UI, you could just implement the CSS image replacement technique within your theme, without needing a helper module like Menu Icons.