Inkscape#Object creation
{{Short description|Free open-source vector graphics editor}}
{{Use dmy dates|date=February 2024}}
{{Multiple issues|
{{Update|date=May 2023}}
{{Primary sources|date=January 2021}}
}}
{{Infobox software
| name = Inkscape
| logo = Inkscape Logo.svg
| logo size = 120px
| logo caption =
| screenshot = Inkscape 1.4 screenshot.webp
| caption = Inkscape 1.4 on Linux
| collapsible =
| author =
| developer =
| released = {{start date and age|2003|11|6}} {{cite web
| url = https://sourceforge.net/p/sodipodi/mailman/message/10064135/
| title = Announcement Email 2003-11-06 07:16:26 (UTC)
| publisher = SourceForge
| date = 2 November 2023
| archive-url = https://web.archive.org/web/20151211153909/https://sourceforge.net/p/sodipodi/mailman/message/10064135/
| access-date = 2 November 2023| archive-date = 11 December 2015
}}
| discontinued =
| latest release version = {{wikidata|property|preferred|references|edit|Q8041|P348|P548=Q2804309}}
| latest release date = {{wikidata|qualifier|preferred|single|Q8041|P348|P548=Q2804309|P577}}
| latest preview version = {{wikidata|property|preferred|references|edit|Q8041|P348|P548=Q51930650}}
| latest preview date = {{wikidata|qualifier|preferred|single|Q8041|P348|P548=Q51930650|P577}}
| programming language = C++ with gtkmm, Python (extensions)
| operating system = FreeBSD, Linux, macOS, Windows
| size =
| language count = 90
| language footnote = {{cite web
| url = https://gitlab.com/inkscape/inkscape/tree/INKSCAPE_0_92_3/po
| title = List of language files at time of release of version 0.92.3 – gitlab.com repository
| publisher = Inkscape
| date = 8 March 2018
| access-date = 28 March 2018}}
| genre = Vector graphics editor
| license = GPL-2.0-or-later{{cite web
| url = https://gitlab.com/inkscape/inkscape/raw/master/COPYING
| title = Copying in Inkscape source
| access-date = 15 October 2018}}
| website = {{URL|https://inkscape.org}}
| replaces = Sodipodi
}}
Inkscape is a vector graphics editor. 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. It is free and open-source software released under a GNU General Public License (GPL) 2.0 or later.
Inkscape uses a file format defined by a technical standard named Scalable Vector Graphics (SVG) as its main format, which is supported by many other applications including web browsers. It can import and export various file formats, including Adobe Illustrator (AI), Encapsulated PostScript (EPS), PDF, PostScript (PS) and PNG.{{Cite web|url=https://inkscape.org/about/|title=About Inkscape |access-date=2 June 2023|website=Inkscape.org}}
Inkscape can render primitive vector shapes (e.g. rectangles, ellipses, polygons, arcs, spirals, stars and 3D boxes) 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.{{Cite web|title=FAQ|url=https://inkscape.org/learn/faq/#how-did-inkscape-start|website=Inkscape.org|access-date=5 May 2020|quote=How did Inkscape start? […] Inkscape was started as a fork of Sodipodi, in late 2003, by four Sodipodi developers: Bryce Harrington, MenTaLguY, Nathan Hurst, and Ted Gould. Our mission was creating a fully compliant Scalable Vector Graphics (SVG) drawing tool written in C++ with a new, more user friendly (GNOME Human Interface Guidelines (HIG) compliant) interface and an open, community-oriented development process.}} Sodipodi, developed since 1999, was based on Raph Levien's GNOME Illustration Application (Gill).{{cite web |url=http://linux.omnipotent.net/article.php?article_id=12529 |title=Linux.com Interviews Lauris Kaplinski |publisher=Linux.com |date=24 September 2001 |access-date=9 December 2015 |archive-date=18 May 2005 |archive-url=https://web.archive.org/web/20050518012645/http://linux.omnipotent.net/article.php?article_id=12529 |url-status=dead}} One of the main priorities of the Inkscape project was interface consistency and usability by following the GNOME Human Interface Guidelines.
Four former Sodipodi developers (Ted Gould, Bryce Harrington, Nathan Hurst, and MenTaLguY) led 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.{{cite web |title=Announcing new project (sodipodi mailing list) |url=http://sourceforge.net/p/sodipodi/mailman/message/10064135/ |date=6 November 2003 |access-date=9 December 2015}}
Following the fork, Inkscape's developers changed the programming language from C to C++; adopted the GTK toolkit (formerly GIMP Toolkit) C++ bindings (gtkmm); redesigned its user interface, and added a number of new features.{{cite web |url=http://wiki.inkscape.org/wiki/index.php/SodiPodi#Inkscape_Sodipodi_Comparison |title=Inkscape Sodipodi Comparison |access-date=9 December 2015}} Inkscape fully implemented{{Cite web |last=Developers |first=Inkscape Website |title=About SVG {{!}} Inkscape |url=https://inkscape.org/develop/about-svg/ |access-date=2025-03-24 |website=inkscape.org |language=en}} 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 support CSS standard and extends the format with its own features like node-types and LPE effects.
Since 2005, Inkscape has participated in the Google Summer of Code program.{{cite web |title=Google's Summer of Code |url=http://wiki.inkscape.org/wiki/index.php/Googles_Summer_Of_Code |website=Inkscape.org Wiki |url-status=dead |archive-url=https://web.archive.org/web/20070704225718/http://wiki.inkscape.org/wiki/index.php/Googles_Summer_Of_Code |archive-date=4 July 2007}}
Up until the end of November 2007, Inkscape's source code repository was hosted by SourceForge. Thereafter it moved to Launchpad.{{cite web
|title=Inkscape moving to Launchpad
|url=http://blog.launchpad.net/general/inkscape-moving-to-launchpad}} In June 2017, it moved to GitLab.{{cite web
|title=Inkscape moves to GitLab
|url=https://inkscape.org/en/news/2017/06/10/inkscape-moves-gitlab/}}
Features
=Object creation=
File:Inkscape 0.48.2 with librsvg workarounds.svg
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 (using the spirograph tool). 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 (pencil), or calligraphic (brush-like) strokes which support a graphics tablet.{{Cite web|url=https://inkscape.org/en/doc/tutorials/calligraphy/tutorial-calligraphy.html|title=Inkscape tutorial: Calligraphy|website=Inkscape.org|access-date=26 December 2019}}
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 (and objects) 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.{{cite web |url=http://wiki.inkscape.org/wiki/index.php/SymbolsDialog |title=SymbolsDialog |website=Inkscape.org Wiki |access-date=3 July 2016}}
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.{{Clarify|reason=matrix is not transformation. Affine transformation matrix is a thing. Does Inkscape support it?|date=December 2019}} 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=
{{Overly detailed|section|details=|date=January 2020}}
Inkscape has a comprehensive tool set to edit paths (as they are the basic element of a vector file):
- Edit Path by Node tool: allows for the editing of single or multiple paths and or their associated node(s). There are four types of path nodes; Cusp (corner), Smooth, Symmetric, and Auto-Smooth. Editing is available for the positioning of nodes and their associated handles (angle and length) 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.{{cite web|title=Inkscape Keyboard Layout|url=https://openclipart.org/detail/188861/inkscape-keyboard-layout-v0484|website=openclipart.org|publisher=creative commons|access-date=3 May 2016}} 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 (sculpting/painting): provides whole object(s) or node editing regions (parts) 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 (unlinked) 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 (i.e., picture frame) graphics easier to edit.
- Path-Conversion; Object to Path: conversions of Objects; Shapes (square, circle, etc.) 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 (Boolean operations): use of multiple objects to Union, Difference, Intersection, Exclusion, Division, and Cut Path.
Inkscape includes a feature called Live Path Effects (LPE), which can apply various modifiers to a path. Envelope Deformation is available via the Path Effects and provides a perspective effect. There are more than a dozen of these live path effects. LPE can be stacked onto a single object and have interactive live on canvas and menu-based editing of the effects.
=File formats=
{{Update|type=section|date=January 2020|reason=Inkscape supports more 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 (converted to SVG) or exported (converted from SVG). The SVG format is using the Cascading Style Sheets (CSS) standard internally. Inkscape's implementation of SVG and CSS standards is incomplete. Most notably, it does not support animation natively.{{cite web|title=Animation|url=https://inkscape.org/en/learn/animation/|website=Inkscape|access-date=18 June 2017}} 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.{{Cite web|url=https://wiki.inkscape.org/wiki/index.php/Release_notes/1.0#Dropped_Extensions|title=Release notes/1.0 |website=Inkscape.org Wiki}}
class="wikitable sortable"
|+Inkscape file format support{{Cite web|url=https://inkscape.org/learn/faq|title = FAQ|website = Inkscape.org}} ! Format name ! Import ! Export |
Adobe Illustrator Artwork (AI)
| {{Yes|align=center|native}} | |
CorelDRAW (CDR, CDT, CCX, CMX)
| {{Yes|align=center|native}} | |
Microsoft Visio (VSD, VSDM, VSDX, VDX)
| {{Yes|align=center|native}} | |
Portable Document Format (PDF)
| {{Yes|align=center|native}} | {{Yes|align=center|native}} |
compressed SVG (SVGZ)
| {{Yes|align=center|native}} | |
JPEG
| {{Yes|align=center|native}} | {{Partial|with extension}} |
PNG
| {{Yes|align=center|native}} | {{Yes|align=center|native}} |
GIF
| {{Yes|align=center|native}} | |
BMP
| {{Yes|align=center|native}} | |
Computer Graphics Metafile (CGM)
| {{Partial|with UniConvertor}} | |
Encapsulated PostScript (EPS)
| {{Partial|with Ghostscript}} | {{Yes|align=center|native}} |
PostScript (PS)
| {{Partial|with Ghostscript}} | {{Yes|align=center|native}} |
SK1
| {{Partial|with UniConvertor}} | |
Affinity Designer (AFDESIGN)
| |
Sketch
| {{Partial|with extension}} | |
Scalable Vector Graphics (SVG)
| {{Yes|align=center|native}} | {{Yes|align=center|native}} |
Xfig (FIG)
| {{Partial|with extension}} | |
Flash XML Graphics (FXG)
| | {{Yes|align=center|native}} |
Hewlett-Packard Graphics Language (HPGL)
| | {{Yes|align=center|native}} |
HTML5 canvas element
| | {{Yes|align=center|native}} |
LaTeX (TeX)
| | {{Yes|align=center|native}} |
Synfig (SIF)
| | {{Yes|align=center|native}} |
Extensible Application Markup Language (XAML)
| | {{Yes|align=center|native}} |
=Other features=
- XML Editor for direct manipulation of the SVG XML structure
- Support for SVG filter effects
- Editing of Resource Description Framework (RDF), a World Wide Web Consortium (W3C) metadata information model
- Command-line interface, exposes format conversion functions and full-featured GUI scripting
- More than sixty interface languages
- Extensible to new file formats, effects and other features
- Mathematical diagramming, with various uses of LaTeX{{cite web |url=http://wiki.inkscape.org/wiki/index.php/ExtensionsRepository |title=Extension repository |website=Inkscape.org Wiki |access-date=22 October 2009}}
- Experimental support for scripting
- lib2Geom is now also external usable. 2Geom is a computational geometry library, originally developed for Inkscape. While developed for Inkscape, it is a library that can be used from any application. It provides support for basic geometric algebra, paths, distortions, Boolean operations, plotting implicit functions, non-uniform rational B-spline (NURBS) and more. 2Geom is free software released under LGPL 2.1 or MPL 1.1.{{Cite web|url=https://github.com/inkscape/lib2geom|title=inkscape/lib2geom|date=18 December 2019|via=GitHub}}{{Cite web|url=https://inkscape.org/news/2018/11/11/graphics-math-library-2geoms-first-release-availab/|title=Graphics Math Library 2geom's First Release Available For Use Beyond Inkscape |website=Inkscape.org |date=11 November 2018 |url-status=live |archive-url=https://web.archive.org/web/20231107111004/https://inkscape.org/news/2018/11/11/graphics-math-library-2geoms-first-release-availab/ |archive-date=7 November 2023}}
Platform support
The latest version of Inkscape 1.0.x (and older line 0.92.x) is available for Linux, Windows 7+, and macOS 10.11–10.15 platforms.{{Cite web|title=All Platforms for Inkscape 1.0|url=https://inkscape.org/release/1.0/platforms/|website=Inkscape.org|access-date=6 May 2020}} Inkscape is packaged with AppImage, Flatpak, PPA, Snap and source by all major Linux distributions (including Debian, Ubuntu, Fedora, OpenSUSE) with GTK+ 3.24+ (0.92.x with GTK+ 2.20+ for older Linux).{{Cite web|url=https://inkscape.org/news/2020/05/04/introducing-inkscape-10/|title=Introducing Inkscape 1.0 |website=Inkscape.org}}{{Cite web|url=https://inkscape.org/forums/beyond/inkscape-10-theming-guide/|title=Inkscape 1.0 Theming Guide – Beyond the Basics – Inkscape Forum}}
Inkscape can also be installed via FreeBSD ports and pkgsrc, the latter being native to NetBSD, but well-supported on most POSIX platforms, including GNU/Linux, Illumos, and macOS.
{{As of|2017|}}, Wacom tablet support for GTK 3 is in a reviving project. Version 1.0.x includes GTK 3 and Wacom support depending on the necessary Wacom Linux or Unix driver.{{cite web |url=https://inkscape.org/en/news/2017/12/09/linux-tablet-driver-project-revived/ |title=Linux Tablet Driver Project Revived |website=Inkscape.org}}{{Update inline|date=May 2020|reason=}}
=macOS=
An issue had affected all GTK3-based apps on macOS Ventura (macOS 13), making the app unresponsive to certain mouse events. GTK is used by many different programs. GTK is a free and open-source cross-platform software widget toolkit for creating graphical user interfaces (GUIs).{{cite web |url=https://www.gtk.org/features.php |title=GTK+ Features |author=The GTK+ Team |access-date=8 September 2014 |archive-date=25 May 2019 |archive-url=https://web.archive.org/web/20190525124304/https://www.gtk.org/features.php |url-status=dead}} Inkscape 1.2.2 was also affected and the web site of Inkscape recommended not to install it on Ventura as long as a stable solution was not available.{{cite web |title=Download Inkscape 1.2.2 |url=https://inkscape.org/release/inkscape-1.2.2/ |website=Inkscape.org |access-date=14 May 2023 |language=en}} These issues were fixed from version 1.3.
Most of the compatibility issues with Apple silicon processors (M1, M2 and M3 families) appear to have also been resolved from version 1.3 and the macOS download site for Inkscape offers two options: the Intel version and the arm64 corresponding to the Apple Silicon M family.{{cite web |title=Website download for macOS version should specify Apple Silicon (#10402): Issues: Inkscape: Inbox |website=GitLab |date=2024-07-04 |url=https://gitlab.com/inkscape/inbox/-/issues/10402 |access-date=2024-07-04}}
Release history
Reception
In its 2012 Best of Open Source Software Awards, InfoWorld gave Inkscape an award for being one of the best open-source desktop applications, commending its typographic controls and ability to directly edit the XML text of its documents.{{cite web |last1=Wayner |first1=Peter |date=18 September 2012 |title=Bossies 2012: The Best of Open Source Software Awards |url=https://www.infoworld.com/article/2614878/open-source-software-bossies-2012-the-best-of-open-source-software-awards.html |access-date=18 January 2020 |work=InfoWorld}}
PC Magazine{{'}}s February 2019 review was rather mixed, giving the application three out of five. It criticized the interface's graphics and lack of optimization for stylus support, the application's poor interoperability with other graphics editors, unwieldy text formatting controls, and the quality of the Mac version. However, it did praise the ability to add custom filters and extensions, the Inkscape community's passion for creating and sharing them, and the precise path and placement tools. The review concluded that whilst Inkscape "boasts outstanding features and a passionate user base for a free program ... it's not suitable for busy professionals."{{cite web|url=https://www.pcmag.com/reviews/inkscape|title=Inkscape Review| last1=Tupper|first1=Shelby|work=PC Magazine|date=28 February 2019|access-date=18 January 2020}}
In January 2020, TechRadar gave Inkscape a positive rating of four stars out of five. It lauded the wide range of editing tools and support for many file formats, but noted that the application's processing can be slow. It is considered Inkscape to be a good free alternative to proprietary graphics editors such as Adobe Illustrator.{{cite web|url=https://www.techradar.com/reviews/inkscape-editor|title=Inkscape review| last1=Ellis|first1=Cat|work=TechRadar|date=26 July 2017|access-date=18 January 2020}}
According to It's FOSS in July 2023, the 1.3 release of Inkscape mainly focuses on making the user's workflow more organized to work more efficiently, with some new features making it a better alternative to Adobe Illustrator.{{Cite web |last1=Rudra |first1=Sourav |date=25 July 2023 |title=Inkscape 1.3 Release: New Features Make it a Better Rival to Adobe Illustrator! |url=https://news.itsfoss.com/inkscape-1-3-release/ |archive-url=https://web.archive.org/web/20230725153526/https://news.itsfoss.com/inkscape-1-3-release/ |archive-date=25 July 2023 |access-date=25 July 2023 |website=itsfoss.com}}
Gallery
File:Inkscapesplash.png|Splash page for v0.45
File:Inkscapemain.png|Main window
File:Openinkscape.png|File menu
File:Inkscape 1.2 Screenshot On Xubuntu 20.04.png|Edited an old SVG File
File:Spain.Girona.Catedral.svg|Cathedral plan
File:Playstation3vector.svg|PlayStation 3
File:Floral 01 nevit.svg|Floral drawing
File:Stardesconfied.svg|Simple Smile
File:Mahuri.svg|Manga drawing
File:Silversmith-inkscape.svg|Raster to vector comparison
File:DeliveryVehicle-B.svg|Delivery vehicle
See also
{{Portal|Free and open-source software}}
{{div col|colwidth=23em}}
- AutoCAD
- Comparison of vector graphics editors
- Create Project
- Krita
- Libre Graphics Meeting
- List of free and open-source software packages
- Openclipart
- Font Library
- Wikipedia tutorial: How to draw a diagram with Inkscape
{{div col end}}
References
{{Reflist}}
Further reading
{{Refbegin}}
- {{cite book
|first1=Donna
|last1=Benjamin
|date=22 February 2010
|title=Beginning Inkscape
|edition=1st
|publisher=Apress
|page=400
|isbn=978-1-4302-2513-3}}
- {{cite book
|first1=Dmitry
|last1=Kirsanov
|date=29 September 2009
|title=The Book of Inkscape: The Definitive Guide to the Free Graphics Editor
|edition=1st
|publisher=No Starch Press
|page=476
|isbn=978-1-59327-181-7}}
- {{cite book
|first1=Tavmjong
|last1=Bah
|date=6 May 2011
|title=Inkscape: Guide to a Vector Drawing Program
|edition=4th
|publisher=Prentice Hall
|page=504
|isbn=978-0-13-705173-1}}
- {{cite book
|first1=Bethany
|last1=Hiitola
|date=15 November 2010
|title=Inkscape 0.48 Essentials for Web Designers
|edition=?
|publisher=Packt
|page=316
|isbn=978-1-84-9512688}}
{{Refend}}
External links
{{Commons}}
{{Wikibooks}}
{{Wikiversity}}
- {{Official website}}
{{GNOME}}
{{Vector graphics editors}}
{{FOSS}}
{{Authority control}}
Category:Cross-platform free software
Category:Free and open-source software
Category:Free diagramming software
Category:Free graphics software
Category:Free multilingual software
Category:Free software programmed in C++
Category:Free vector graphics editors
Category:Graphics software that uses GTK
Category:MacOS graphics-related software
Category:Raster to vector conversion software
Category:Scalable Vector Graphics
Category:Software that uses Cairo (graphics)
Category:Vector graphics editors for Linux