You could also use SVG files for the drawing part.
They are 'simple' text files, that contain a vector graphic.

They also allow to define areas inside the graphic itself, that can be used to differentiate between the different polygons and which one got clicked.
I'm not sure about displaying them, if the graphics library can display them correctly and if it supports the 'clicking for an area', but a browser is able to (only used it in a WebApp myself), and so a browser control should be able to aswell.