{"id":379,"date":"2011-01-02T18:26:08","date_gmt":"2011-01-03T01:26:08","guid":{"rendered":"http:\/\/www.built-to-spec.com\/blog\/?p=379"},"modified":"2011-01-02T18:26:08","modified_gmt":"2011-01-03T01:26:08","slug":"quick-inkscape-tutorial-perspective-transforms","status":"publish","type":"post","link":"http:\/\/www.built-to-spec.com\/blog\/2011\/01\/02\/quick-inkscape-tutorial-perspective-transforms\/","title":{"rendered":"Quick Inkscape Tutorial &#8211; Perspective Transforms"},"content":{"rendered":"<p>Let me start out by saying that far as open source software goes, Inkscape is definitely on my top 5 list and there a number of things that Inkscape can do that other proprietary vector graphics programs can't.\u00a0\u00a0 That said, I've used a few other proprietary vector graphics programs before and it seems like there are some nice features missing or buggy in Inkscape in its current state.\u00a0 In many cases, you can get around the limitations of Inkscape and get the effects you want, you\u00a0 just have to work a little harder than you would have in other software packages to get there.<\/p>\n<p>I ran into one of these cases recently while trying to make a quick set of paths to use with my vinyl cutter to make a sticker for my laptop.\u00a0 I used standard path operations to create a <noindex><a rel=\"nofollow\" href=\"http:\/\/us.starcraft2.com\/features\/terran\/sensortower.xml\" target=\"_blank\">sensor tower<\/a><\/noindex> warning symbol, but then I ran into trouble when I wanted to perform a perspective transformation.\u00a0 Some other vector graphics packages roll this functionality into a \"free-transformation\" tool that allows you move each of the points of the bounding box of the currently selected objects and some separate this transform into its own tool\/operation.<\/p>\n<p><a href=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning.png\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-409\" title=\"sensor tower wraning\" src=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-300x88.png\" alt=\"\" width=\"300\" height=\"88\" srcset=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-300x88.png 300w, http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-1024x300.png 1024w, http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning.png 1168w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>A quick Google search returned a number of videos showing how to perform a perspective transform, but it seems the functionality and path to it has changed over time.\u00a0 After figuring everything out I also found this good post on all the pitfalls of perspective transformations <noindex><a rel=\"nofollow\" href=\"http:\/\/www.brankovukelic.com\/post\/716617691\/complete-guide-inkscape-perspective\" target=\"_blank\">here<\/a><\/noindex>.\u00a0\u00a0 Basically, the old path for the perspective transformation was \"Effects&gt;Modify Path&gt;Perspective\" and it is now found under \"Extensions&gt;Modify Path&gt;Perspective\"\u00a0 and it will only work if the paths you will be applying the transform to follow some strict guidelines.\u00a0 Basically as of Inkscape 0.48.0 r9654 you'll need to make sure that:<\/p>\n<ol>\n<li>All elements you are going to transform <strong>must be paths<\/strong>.\u00a0 No text objects, no bitmaps, no rectangles or other shapes, just paths.\u00a0 If you've got any shapes amongst the paths you will be transforming you can convert them to paths by selecting them and got to \"Path&gt;Object to Path\".<\/li>\n<li>All elements you are going to transform need to be <strong>grouped<\/strong> or in a <strong>combined path<\/strong>.\u00a0 I was able to use nested groupings without issues but if your results are not as expected you may have to remove nested groups.<\/li>\n<li>You must define a \"target shape\" to determine the bounds of the transform that is a <strong>4-sided polygon<\/strong> who's points are <strong>drawn clockwise starting from the bottom left corner<\/strong>.\u00a0 Drawing the points in any other way will result in odd behavior.\u00a0 All sides must be straight lines, no curves.<\/li>\n<li>You must select both the paths you will be transforming and the target shape by selecting your paths <strong>first<\/strong> then shift-clicking your target shape <strong>second<\/strong>.<\/li>\n<\/ol>\n<p>After you've done all this, go to \"Extensions&gt;Modify Path&gt;Perspective\" and everything should work as expected.\u00a0 In addition to being able to use nested groupings, I was able to assign transformations to individual paths and get predictable results, so some of the issues with the perspective extension may have been fixed recently.<\/p>\n<p><a href=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-perspective.png\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-408\" title=\"sensor tower wraning perspective\" src=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-perspective-300x78.png\" alt=\"\" width=\"300\" height=\"78\" srcset=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-perspective-300x78.png 300w, http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-perspective-1024x267.png 1024w, http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/sensor-tower-wraning-perspective.png 1165w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/towerwarning.jpg\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-413\" title=\"towerwarning\" src=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/towerwarning-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/towerwarning-300x225.jpg 300w, http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/towerwarning-1024x768.jpg 1024w, http:\/\/www.built-to-spec.com\/blog\/wp-content\/uploads\/2011\/01\/towerwarning.jpg 1037w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let me start out by saying that far as open source software goes, Inkscape is definitely on my top 5 list and there a number of things that Inkscape can do that other proprietary vector graphics programs can't.\u00a0\u00a0 That said, I've used a few other proprietary vector graphics programs before and it seems like there [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[38],"_links":{"self":[{"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/posts\/379"}],"collection":[{"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/comments?post=379"}],"version-history":[{"count":10,"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/posts\/379\/revisions"}],"predecessor-version":[{"id":416,"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/posts\/379\/revisions\/416"}],"wp:attachment":[{"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/media?parent=379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/categories?post=379"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.built-to-spec.com\/blog\/wp-json\/wp\/v2\/tags?post=379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}