Inkscape
Inkscape is a free and open-source software vector graphics editor released under a GNU General Public License 2.0 or later. It is used for both artistic and technical illustrations such as cartoons, clip art, logos, typography, diagrams, and flowcharts. It uses vector graphics to allow for sharp printouts and renderings at unlimited resolution and is not bound to a fixed number of pixels like raster graphics.
Inkscape uses Scalable Vector Graphics as its main file format. It can import and export various file formats, including Adobe Illustrator, Encapsulated PostScript, PDF, PostScript and PNG.
Inkscape can render primitive vector shapes and text. These objects may be filled with solid colors, patterns, and radial or linear color gradients, and their borders may be stroked, both with adjustable transparency. Embedding and optional tracing of raster graphics is also supported, enabling the editor to create vector graphics from photos and other raster sources. Created shapes can be further manipulated with geometric transformations, such as moving, rotating, scaling, and skewing.
History
Inkscape began in 2003 as a code fork of the Sodipodi project. Sodipodi, developed since 1999, was based on Raph Levien's GNOME Illustration Application. One of the main priorities of the Inkscape project was interface consistency and usability by following the GNOME Human Interface Guidelines.Four former Sodipodi Ted Gould, Bryce Harrington, Nathan Hurst, and MenTaLguYled the fork, citing differences over project objectives, openness to third-party contributions, and technical disagreements. They said that Inkscape would focus development on implementing the complete SVG standard, whereas Sodipodi development emphasized developing a general-purpose vector graphics editor, possibly at the expense of SVG.
Following the fork, Inkscape's developers changed the programming language from C to C++; adopted the GTK toolkit C++ bindings ; redesigned its user interface, and added a number of new features. Inkscape fully implemented SVG 1.1 standard in version 0.91. And it continues with implementation of still unfinished SVG 1.2 and SVG 2.0 standard features like Mesh Gradients. It also supports the Cascading Style Sheets standard and extends the format with its own features like node-types and live path effects.
Since 2005, Inkscape has participated in the Google Summer of Code program. Up until the end of November 2007, Inkscape's source code repository was hosted by SourceForge. Thereafter it moved to Launchpad. In June 2017, it moved to GitLab.
Features
Object creation
Inkscape workflow is based on vector objects. Tools allow manipulating primitive vector shapes: simple ones like rectangles, ellipses, and arcs, and more complex ones like 3D boxes with adjustable perspectives, stars, polygons, and spirals. Rendering feature that can create objects like barcodes, calendars, grids, gears, and roulette curves. These objects may be filled with solid colors, patterns, radial or linear color gradients and their borders may be stroked, both with adjustable transparency. All of those can be further edited by transformations, such as moving, rotating, scaling, and skewing, or by editing paths.Other tools allow creating Bézier curves, freehand drawing of lines, or calligraphic strokes which support a graphics tablet.
Inkscape can write and edit text with tools available for changing font, spacing, kerning, rotation, flowing along the path or into a shape. Text can be converted to paths for further editing. The program also has layers feature that allows organizing objects in a preferred stacking order in the canvas. Objects can be made visible or invisible, and locked or unlocked, via these features.
Symbol libraries enable Inkscape to use existing symbols like logic-gate symbols or DOT pictograms. More libraries can be added as needed.
Inkscape supports image tracing, the process of extracting vector graphics from raster sources.
Clones are child objects of an original parent object. Different transformations can be applied to them, such as: size, position, rotation, blur, opacity, color, and symmetry. Clones are updated live whenever the parent object changes.
Object manipulation
Every object in the drawing can be subjected to arbitrary affine transformations: moving, rotating, scaling, skewing, and a configurable matrix. Transformation parameters can be specified numerically. Transformations can snap to angles, grids, guidelines and nodes of other objects, or be aligned in specified direction, spaced equally, scattered at random.Objects can be grouped. Groups of objects behave similarly to objects. Objects in a group can be edited without having to ungroup them first.
The Z-order determines the order in which objects are drawn on the canvas. Objects with a high Z-order are drawn on top of objects lower in the Z-order. Order of objects can be managed either using layers, or by manually moving the object up and down in the Z-order. Layers can be locked or hidden, preventing modification and accidental selection.
The Create Tiled Clones tool allows symmetrical or grid-like drawings using various plane symmetries.
Appearance of objects can be further changed by using masks and clipping paths, which can be created from arbitrary objects, including groups.
The style attributes are 'attached' to the source object, so after cutting/copying an object onto the clipboard, the style's attributes can be pasted to another object.
Objects can also be moved by manually entering the location coordinates in the top toolbar. Even additions and subtractions can be done this way.
Operations on paths
Inkscape has a comprehensive tool set to edit paths :- Edit Path by Node tool: allows for the editing of single or multiple paths and or their associated node. There are four types of path nodes; Cusp, Smooth, Symmetric, and Auto-Smooth. Editing is available for the positioning of nodes and their associated handles for Linear and Bézier paths or Spiro curves. A path segment can also be adjusted. When multiple nodes are selected, they can be moved, scaled and rotated using keyboard shortcut or mouse controls. More nodes can be inserted into paths at arbitrary or even placements, and an effect can be used to insert nodes at predefined intervals. When nodes are deleted, the handles on remaining ones are adjusted to preserve the original shape as closely as possible.
- Tweak tool : provides whole object or node editing regions of an object. It can push, repel/attract, randomize positioning, shrink/enlarge, rotate, copy/delete selected whole objects. With parts of a path you can push, shrink/enlarge, repel/attract, roughen edges, blur and color. Nodes are dynamically created and deleted when needed while using this tool, so it can also be used on simple paths without pre-processing.
- Path-Offsets; Outset, Inset, Linked or Dynamic: can create a Linked or Dynamic Inset and or an Outset of an existing path which can then be fine tuned using the given Shape or Node tool. Creating a Linked Offset of a path will update whenever the original is modified. Making symmetrical graphics easier to edit.
- Path-Conversion; Object to Path: conversions of Objects; Shapes or Text into paths.
- Path-Conversion; Stroke to Path: conversions of the Stroke of a shape to a path.
- Path-Simplify: a given path's node count will reduce while preserving the shape.
- Path-Operations : use of multiple objects to Union, Difference, Intersection, Exclusion, Division, and Cut Path.
File formats
Inkscape's primary format is SVG 1.1, meaning that it can create and edit with the abilities and within the constraints of this format. Any other format must either be imported or exported. The SVG format is using the CSS standard internally. Inkscape's implementation of SVG and CSS standards is incomplete. Most notably, it does not support animation natively. Inkscape has multilingual support, particularly for complex scripts. Formats that used the UniConvertor library are not supported beyond the 1.0 release. A workaround is to have a parallel installation of version 0.92.x.| Format name | Import | Export |
| Adobe Illustrator Artwork | ||
| CorelDRAW | ||
| Microsoft Visio | ||
| Portable Document Format | ||
| compressed SVG | ||
| JPEG | ||
| PNG | ||
| GIF | ||
| BMP | ||
| Computer Graphics Metafile | ||
| Encapsulated PostScript | ||
| PostScript | ||
| SK1 | ||
| Affinity Designer | ||
| Linearity Curve | ||
| Sketch | ||
| Scalable Vector Graphics | ||
| Xfig | ||
| Flash XML Graphics | ||
| Hewlett-Packard Graphics Language | ||
| HTML5 canvas element | ||
| LaTeX | ||
| Synfig | ||
| Extensible Application Markup Language |