There is no such thing as converted from bitmap graphics to vector, because this is something which does not have strict sense. It could be some kind of image recognition and can be performed just out of despair. I don't know why would you want it, so don't want to discuss it at this time. In normal business, you would operate with vector graphic in first place and save graphics in bitmaps of required size when needed, which is actually called
rendering.
For Windows, the problem of vector graphics is actually reduced to creation of some model of vector graphics and rendering this model on screen (or other media, such as print page), which is all boiled down to either handling of the WM_PAINT event or rendering graphics on some bitmap on the fly. Please see:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd145213%28v=vs.85%29.aspx[
^].
The model can be anything; you can defined your own and implement all the operations you need. This is not actually too hard to do, but requires some architectural skills.
Windows metafiles are rudimentary, old, ugly and awkward to use. However, Windows API provides all one needs to support metafiles or enhance metafiles:
http://en.wikipedia.org/wiki/Windows_Metafile[
^],
http://msdn.microsoft.com/en-us/library/cc215212.aspx[
^],
http://msdn.microsoft.com/en-us/library/dd145051%28v=VS.85%29.aspx[
^].
You can look at look at available vector graphics standard, in particular on these two, XML-based:
http://en.wikipedia.org/wiki/SVG[
^],
http://www.w3.org/Graphics/SVG[
^],
http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html[
^];
http://www.svgelves.com/[
^],
http://en.wikipedia.org/wiki/Vector_Markup_Language[
^].
I would say, the only widely used, strict and based on the open standards is the SVG. One important thing is it its use in the Web is standardized in HTML5:
http://en.wikipedia.org/wiki/HTML5[
^].
Its use is really supported by most Web browsers, directly of via plug-ins:
http://en.wikipedia.org/wiki/SVG#Support_for_SVG_in_web_browsers[
^].
SVG can also be
hardware-accelerated, based on OpenVG:
http://en.wikipedia.org/wiki/OpenVG[
^].
You can do SVG programming using the open-source and cross-platform
librsvg C library:
http://en.wikipedia.org/wiki/Librsvg[
^],
https://wiki.gnome.org/LibRsvg[
^].
See also this one:
http://libboard.sourceforge.net/[
^].
You can find some more:
http://bit.ly/15n39ui[
^].
—SA