ImageMagick を調べてゴニョゴニョやってたら GetPixels なんでメソッドがあるのをはじめて知りました。
ほんとうはそういう事がやりたいわけではなかったのですが、現実逃避的に画像を HTML にするスクリプト書いてみました。。

#!/usr/local/bin/perl
use strict;
use Image::Magick;

my $file = $ARGV[0];
my $image = Image::Magick->new;

my($x, $y, $size, $format) = $image->Ping($file);

$image->Read($file);
my @color_info = 
    $image->GetPixels(width=>$x, height=>$y, x=>0, y=>0, map=>'RGB');
print "<html><body>
";
my($i, $j) = (0, 0);
while (@color_info > 0) {
    my $r = num2hex(shift @color_info);
    my $g = num2hex(shift @color_info);
    my $b = num2hex(shift @color_info);
    my $rgb = "#$r$g$b";
    printf('<span style="position: absolute; left: %d; top: %d; width:1px; height:1px; background: %s"></span>', $i, $j, $rgb);
    $i++;
    if ($i == $x) {
        $i = 0;
        $j++;
        print "
";
    }
}
print "</body></html>";

sub num2hex{
    my $depth = shift;
    $depth = int($depth / 256);
    return unpack("H2", pack("C", $depth));
}
% ./image2html.pl logo.gif > logo.html
みたいな感じで使います。作ってみたのがこちら(ブラウザ固まる可能性ありますのでご注意を。。)
結構綺麗に出来るので、パッと見ではHTMLと分からないくらいです。
あまり大きい画像だとブラウザ固まりますが、アイコンとかだったら使えるかもしれません。
そうまでして画像を使わないメリット分かりませんが。。