How about Inkscape? It is:
free and open source,
has a perfectly compliant SVG format file generation and editing,
can open a number of other vector formats, with the help of extensions,
can natively import most raster formats (JPEG, PNG, GIF, etc.) as bitmap images, but it can only export PNG bitmaps,
as it is a downloadable software, it runs ...
New SVG++ library is a good choice for SVG reading in C++, except that it is not lightweight and requires Boost library. But as it is header-only library and uses only header-only libraries from Boost, you only need to fetch both SVG++ and Boost and add them to include paths, no building required.
As already mentioned I would go with Inkscape if you want a full featured SVG editor with great design capabilities and powerful tools.
If you want something simpler however, are looking for a web based solution or Inkscape is not available on your desired platform there is also SVG Edit.
Open SVG in browser and print the page to PDF.
Not silent or command line so doesn't meet my requirements
$ firefox -print "URL"
Addon for Firefox to automate printing using command line (silent
printing). You can print to a normal printer configured at your system
or print as a file (pdf, ps or png).
And there are a billion ...
You have a few options:
librsvg from the Cairo Graphics project
extend libsvgtiny to meet your needs
extract the SVG layer from Amaya
use an xml parser and then parse properties as needed
for C++ and significant dependencies: QT, webkit or chromium
Note on libsvgtiny: It is developed by the Netsurf Browser project and has very minimal dependencies that ...
If it's mainly about sequence diagrams, I use JS Sequence Diagrams.
The input is plain text which is nice for version control. The output can have different styles. I love the "hand-drawn" (like xkcd) style, to indicate that this is a sort of draft diagram.
For final versions which go into official documentation, I switch to "simple" style. The result can ...
Yes, this does indeed seem to be a limitation with respect to the PHP DOM library. Much easier to fix on the Inkscape side. Choose to save as "optimized svg"
And then make sure the "style to XML" box is ticked.
The only alternative I know of to InkScape is sK1:
I've only used it for simple web design SVG editing, but it appeared to work fine. Less features than InkScape, but it does seem to import from proprietry programmes (such as CorelDRAW) a little better than InkScape. It exports to PostScript, and thus to Adobe Illustrator (5.0) rather ...
I have upvoted both of Thomas answers & will be looking into them.
I have done a lot of searching for MSC drawing tools, especially those which take plain text as input. In addition to scripts easy to store in version control, it allows me to code tools (normally as Python scripts), for instance to automatically generate an MSC from a test log to ...
Any semi-decent vector editing application should fulfil your requisites (except being free). In addition to the already mentioned Inkscape, Gravit Designer is a good choice (you can use it both in the browser or as a standalone app).
In order to sketch class diagrams and use case diagrams, I use yUML. I don't like the activity diagrams of the same site.
The input is plain text which is nice for version control. The output can have different styles. I love the "scruffy" (xkcd-like) style, to indicate that this is a sort of draft diagram.
For final versions which go into official ...
Yes, Google can search for SVG files. Lifehacker agrees.
January 28, 2011
Google Image Search Indexes SVG Files Last year,
Google announced that it started to index SVG files, but the results
were only returned by the web search engine. "SVG is an open,
XML-based format for vector graphics with support for interactive
elements. We're big ...
SVG is a special type of XML (source). So any C/C++ library that allows you to parse XML will also allow you to parse SVG.
Many libaries are posted as answers to the question Best open XML parser for C++. Some of them are
My recently favorited online editor draw.io does sadly not support drawing organic or chemical compounds, but I looked at the list of Online Molecule editors and searched for one provided SVG export.
Maybe more than one support it, but I found one which does support SVG export (although it calls "SVG Image"), and that is the PubChem online molecule editor, ...
Just use any plain text editor. I use mousepad. SVG is just an XML file with a well defined and stable DTD, analogous to HTML. If you really want to be able to control your images, manually editing the XML is the only way to go.
Download and read the SVG specification, available here:
That's the online version - the ...
Both Atom, Brackets and Visual Studio Code plain text editors have a plugin for real time preview of SVG files while being edited.
Atom SVG Preview Package
Brackets SVG Preview
Visual Studio SVG Viewer
Though I suspect they only provide real time preview of chages made through their respective editors.
The whole product is available for free through the community license if you qualify (less than 1 million USD in revenue).
Note: I work for Syncfusion.
For people who want it to run truly headlessly, i.e. no X server, try wkhtmltopdf (note that Linux distro packages of it are missing some features, so download from their website). It was designed to work with HTML but uses QT WebKit and so should be able to render SVG. Run with wkhtmltopdf input.svg output.pdf.
wkhtmltopdf also works with inputs located on ...
There is no reason why you can not use SolidWorks or say Autocad for this. Its not often done but possible. I use Maya and Creo all the time to make logos in 2D, i just export the logo in EPS and be done (Ok so the NURBS surfaces must be turned to Beziers, no big deal in many cubic and quadratic cases).
The thing is constraints solvers are not terribly time ...
I love Express Animate: http://www.nchsoftware.com/animation/
But I see nothing wrong with embedding video or gif if all you want is to watch the ...
You could use ImageMagick from the command line to view the images or to create a contact sheet like preview of the contents of each directory, with captions such as the file names and you can do so in a number of output formats including a clickable html preview file.
Lots of options and control available here using the montage command but one example ...
You could modify the program suggested here as follows:
static class ExtractBitmapFromSvg
static int Main(string args)
var svgFile = new SvgFile(args);
var images = svgFile.GetEmbeddedImages();
var hasImages = images.Count > 0;
Found my own answer.
Affinity Designer for OS X seems to have all the features needed: Can draw several vectorial icons in a single page and declare many export zones for exporting icons individually (or in batch).
It is overloaded with tons of vector and raster features.