Gimp offers a plugin / filter called Gimp image map , which has a nice interface to help create an image map. I think this will provide the functionality you are looking for. Choose Filters -> Web -> Image Map... to open a dialog 
Once the Image Map dialog box opens, you can create polygonal areas for your heart: 
You can create and customize areas as you like to change the link, text, frames, the polygon itself, or even customize javascript events.

Once you are done save it and you can use the snippet you just saved in html
<img src="us_map.gif" width="771" height="448" border="0" usemap="#map" /> <map name="map"> <!-- #$-:Image map file created by GIMP Image Map plug-in --> <!-- #$-:GIMP Image Map plug-in by Maurits Rijk --> <!-- #$-:Please do not edit lines starting with "#$" --> <!-- #$VERSION:2.3 --> <!-- #$AUTHOR:Colin Harrington --> <area shape="poly" coords="149,292,254,332,308,41,262,33,232,27,169,14,120,9,102,52,92,190" alt="West Coast" href="wc.html" /> <area shape="poly" coords="474,267,522,368,574,62,465,17,422,19,326,51,284,161,293,224,322,250,363,219,419,222" alt="Midwest" href="mw.html" /> <area shape="poly" coords="634,58,583,74,527,360,670,419,757,180,770,65,770,24,705,10,735,29" alt="East Coast" href="ec.html" /> <area shape="poly" coords="380,251,379,285,458,300,464,363,413,426,330,373,287,317,335,323,340,250" alt="Texas" href="tx.html" /> </map>