I've tried playing with Magick++ and drawing few simple primitives:
Magick::InitializeMagick(nullptr);
Image image(Geometry(1900,1200), Color("white"));
image.strokeColor("red");
image.strokeWidth(10);
image.draw(DrawableCircle(100,100,50,100));
image.draw(DrawableRectangle(200,200,270,170));
image.write("test.eps");
And those primitives do not seem to be vectorized. Checking the .eps file in notepad shows, that after prolog it uses DisplayImage procedure, but doesn't contain primitives. I know ImageMagick supports reading postscript, but does it support saving to it with actual vectorized primitives, or does it do some type of conversion to an image which is not vectorized at all? Couldn't find information about this anywhere.
@tetektozaNo I meant that Imagemagick can draw using vector tools, but when saving to PDF output the PDF only saves as a raster image embedded in a vector shell. So all vector data is rasterized and you cannot edit the original vectors that were created before it outputs to PDF. See usage.imagemagick.org/draw/#paths