{"id":16140,"date":"2024-07-15T15:01:02","date_gmt":"2024-07-15T15:01:02","guid":{"rendered":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/"},"modified":"2025-12-23T09:46:14","modified_gmt":"2025-12-23T14:46:14","slug":"getting-started-with-the-paintable-canvas-in-ignition-vision","status":"publish","type":"post","link":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/","title":{"rendered":"Getting Started with the Paintable Canvas in Ignition Vision"},"content":{"rendered":"<p>Inductive Automation&rsquo;s <a href=\"https:\/\/www.dmcinfo.com\/services\/manufacturing-automation-and-intelligence\/hmi-and-scada-programming\/ignition-programming\">Ignition<\/a> is a reliable, proven HMI\/SCADA platform with powerful scripting capabilities. Ignition&rsquo;s most well-known Vision visualization module has been used in plant floor HMIs and desktop screens for over 10 years. One of the most customizable components in Vision&rsquo;s palette is the Paintable Canvas.<\/p>\r\n\r\n<p>While the Paintable Canvas&rsquo;s heavy reliance on scripting might be intimidating for a new Ignition developer, this short tutorial will put you on track to create complex dynamic displays in no time!<\/p>\r\n\r\n<h2 class=\"wp-block-heading\">Paintable Canvas Overview<\/h2>\r\n\r\n<p>The Paintable canvas makes use of the <a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/2d\/index.html\" target=\"_blank\">Java2D graphics library<\/a>, which allows you to create complex shapes, load and edit images, add text, and more.<\/p>\r\n\r\n<p>To add a paintable canvas to your Vision project, simply drag the Paintable Canvas component anywhere on your window. You&rsquo;ll notice that this component comes with an example script that renders a simple pump graphic. Turn on preview mode to see your paintable canvas area filled with the pump image below. Notice that you can resize the canvas window to any shape or size and the pump will automatically stretch to fill the new area. This is because Java2D is a vector drawing library, allowing components to scale with ease.<\/p>\r\n\r\n<p>&nbsp;<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"Graphical user interface, text, application, emailDescription automatically generated\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164901\/PaintableCanvas1.png\"  \/><\/figure><\/p>\r\n\r\n<p><figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164900\/PaintableCanvas2.png\"  \/><\/figure><figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"A screenshot of a computerDescription automatically generated with low confidence\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164900\/PaintableCanvas3.png\"  \/><\/figure><\/p>\r\n\r\n<p>Now, let&#39;s take a look into how this graphic is being created. Open up the script editor by right-clicking on your paintable canvas component in the project browser.<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"Graphical user interface, applicationDescription automatically generated\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164900\/PaintableCanvas4.png\"  \/><\/figure>\r\n\r\n<p>Here&nbsp;you will see that the repaint&nbsp;script is prepopulated with the script that creates our static pump icon. You&rsquo;ll notice that this script is split up into two sections. The first part defines the <a href=\"https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/awt\/geom\/package-summary.html\" target=\"_blank\">Java2D shapes<\/a> that make up our pump, based on a 100&#215;100 pixel area. Then, the second half scales the shapes to the size of the canvas and renders them using <a href=\"https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/awt\/Graphics.html\" target=\"_blank\">Java graphics<\/a>.<\/p>\r\n\r\n<p>Notice that the order in which the objects are painted is significant. I recommend you take some time to play around with this script, editing some values to see how the pump graphic changes. See if you can change the shape of the pump from a circle to a square&nbsp;or rotate it upside down.<\/p>\r\n\r\n<p>&nbsp;<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164859\/PaintableCanvas5.png\"  \/><\/figure>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\r\n\r\n<h2 class=\"wp-block-heading\">Updating the Canvas from a Dynamic Property<\/h2>\r\n\r\n<p>Now, let&#39;s&nbsp;see how we can dynamically update the pump at runtime. First, let&#39;s add a custom property to our Paintable Canvas by right-clicking on the Paintable Canvas component in the Project Browser and selecting &ldquo;Customizers &gt; Custom Properties.&quot;&nbsp;<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164859\/PaintableCanvas6.png\"  \/><\/figure>\r\n\r\n<p>Then, we will add a toggle button to our window and bind its value to this property. Now we can test pressing our toggle button and verify that our new paintable canvas property changes.<br \/>\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164859\/PaintableCanvas7_1.png\"  \/><\/figure><\/p>\r\n\r\n<p>Now it&rsquo;s time to bring this property into our paintable canvas by editing the &ldquo;repaint&rdquo; script below, adding a simple if statement to change the color and text of the status icon based on our new dynamic property.<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164858\/PaintableCanvas8.png\"  \/><\/figure>\r\n\r\n<p>Now you should be able to change your pump mode at runtime by pressing the toggle button. This works because the repaint script for a Paintable Canvas runs any time a property of the canvas changes, including our custom bAuto property.<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164858\/PaintableCanvas9.png\"  \/><\/figure>\r\n\r\n<h2 class=\"wp-block-heading\">Updating Dynamic Properties from the Canvas<\/h2>\r\n\r\n<p>Now that we know how to update graphics in the paintable canvas from dynamic properties, let&#39;s take a look at writing to properties from within the paintable canvas tool. To do this, we will open back up the component scripting tool and navigate to the mouseClicked&nbsp;event. Let&#39;s say we want to change our mode only when the mode indicator circle is clicked. We can do this very easily by using the x and y&nbsp;properties of our mouseClicked event object.<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164857\/PaintableCanvas10.png\"  \/><\/figure>\r\n\r\n<p>Here, we create a Point2D object with the coordinates of our mouseClicked point (event.x and event.y) and scale it to match the 0-100 scaling of our initial ellipse definition. We can then use the &lsquo;contains&rsquo; method of Ellipse2D to determine whether our point lies within the Ellipse. In this case, if the user clicks within the ellipse, we update our mode property.<\/p>\r\n\r\n<p>Now you can click the status ellipse on the pump icon to update the mode, rather than needing a separate toggle button.<\/p>\r\n\r\n<h2 class=\"wp-block-heading\">Dynamically Resize and Reorient Objects<\/h2>\r\n\r\n<p>Now, let&#39;s return to our original pump display&nbsp;and let&#39;s try updating our canvas to display a dynamic number of pumps. We will again start by adding a custom property to our Paintable Canvas&nbsp;and connect it to a numeric text field on our main window. This will be our user input for number of pumps. Then we will make a few small edits to our repaint script below.<\/p>\r\n\r\n<p>Define a new variable numPumps and link it to your new custom property.<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164857\/PaintableCanvas11.png\"  \/><\/figure>\r\n\r\n<p>Scale your pump graphic in the X-direction so that each pump takes up 1\/numPumps of the screen. The vector-oriented nature of Java2D makes it so easy to resize an entire object all at once, rather than adding a scale factor to each shape within the pump.<\/p>\r\n\r\n<p>Next, add a for loop around the &lsquo;Paint Shapes&rsquo; portion of the script to paint each pump one at a time. At the end of the for loop, we will need to ensure any relevant properties (in my case the font size) are reset to the values they are at the start of the loop&nbsp;and then translate our origin to the right by one pump width.<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164856\/PaintableCanvas12.png\"  \/><\/figure>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164856\/PaintableCanvas13.png\"  \/><\/figure>\r\n\r\n<p>Now try changing your new user input at runtime and see your Paintable Canvas update!<\/p>\r\n\r\n<p>&nbsp;<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164856\/PaintableCanvas14.png\"  \/><\/figure><\/p>\r\n\r\n<p>Now you have the tools you need to create simple dynamic objects using the Paintable Canvas tool. With the powerful Java graphics library at your disposal, your creativity is your only limit with what objects you can create!<\/p>\r\n\r\n<p><strong>Learn more about DMC&#39;s <a href=\"https:\/\/www.dmcinfo.com\/services\/manufacturing-automation-and-intelligence\/hmi-and-scada-programming\/ignition-programming\">Ignition programming expertise<\/a> and <a href=\"https:\/\/www.dmcinfo.com\/contact\">contact us<\/a> today.<\/strong><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Inductive Automation&rsquo;s Ignition is a reliable, proven HMI\/SCADA platform with powerful scripting capabilities. Ignition&rsquo;s most well-known Vision visualization module has been used in plant floor HMIs and desktop screens for over 10 years. One of the most customizable components in Vision&rsquo;s palette is the Paintable Canvas. While the Paintable Canvas&rsquo;s heavy reliance on scripting might [&hellip;]<\/p>\n","protected":false},"author":194,"featured_media":16141,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[756],"tags":[795],"class_list":["post-16140","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hmi-and-scada","tag-ignition"],"yoast_head":"<title>Getting Started with the Paintable Canvas in Ignition Vision | DMC, Inc.<\/title>\n<meta name=\"description\" content=\"Learn to create complex dynamic displays in no time with Ignition Vision\u2019s Paintable Canvas with this guide from DMC, Inc..\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting Started with the Paintable Canvas in Ignition Vision\" \/>\n<meta property=\"og:description\" content=\"Learn to create complex dynamic displays in no time with Ignition Vision\u2019s Paintable Canvas with this guide from DMC, Inc..\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/\" \/>\n<meta property=\"og:site_name\" content=\"DMC, Inc.\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-15T15:01:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-23T14:46:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"925\" \/>\n\t<meta property=\"og:image:height\" content=\"392\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Natalie Pippolo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Natalie Pippolo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/\"},\"author\":{\"name\":\"Natalie Pippolo\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/7f65eba80d7b97fa51af9fe612756b93\"},\"headline\":\"Getting Started with the Paintable Canvas in Ignition Vision\",\"datePublished\":\"2024-07-15T15:01:02+00:00\",\"dateModified\":\"2025-12-23T14:46:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/\"},\"wordCount\":1030,\"publisher\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg\",\"keywords\":[\"ignition\"],\"articleSection\":[\"HMI and SCADA\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/\",\"url\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/\",\"name\":\"Getting Started with the Paintable Canvas in Ignition Vision | DMC, Inc.\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg\",\"datePublished\":\"2024-07-15T15:01:02+00:00\",\"dateModified\":\"2025-12-23T14:46:14+00:00\",\"description\":\"Learn to create complex dynamic displays in no time with Ignition Vision\u2019s Paintable Canvas with this guide from DMC, Inc..\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg\",\"width\":925,\"height\":392,\"caption\":\"paintable-canvas-ignition-vision\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dmcinfo.com\/#website\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"name\":\"DMC, Inc.\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dmcinfo.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\",\"name\":\"DMC, Inc.\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"width\":418,\"height\":167,\"caption\":\"DMC, Inc.\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\",\"https:\/\/www.instagram.com\/dmcengineering\",\"https:\/\/www.youtube.com\/DMCEngineering\",\"https:\/\/www.linkedin.com\/company\/dmc-engineering\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/7f65eba80d7b97fa51af9fe612756b93\",\"name\":\"Natalie Pippolo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/person\/image\/\",\"url\":\"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/194.png\",\"contentUrl\":\"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/194.png\",\"caption\":\"Natalie Pippolo\"},\"url\":\"https:\/\/www.dmcinfo.com\/blog\/author\/nataliep\/\"}]}<\/script>","yoast_head_json":{"title":"Getting Started with the Paintable Canvas in Ignition Vision | DMC, Inc.","description":"Learn to create complex dynamic displays in no time with Ignition Vision\u2019s Paintable Canvas with this guide from DMC, Inc..","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/","og_locale":"en_US","og_type":"article","og_title":"Getting Started with the Paintable Canvas in Ignition Vision","og_description":"Learn to create complex dynamic displays in no time with Ignition Vision\u2019s Paintable Canvas with this guide from DMC, Inc..","og_url":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/","og_site_name":"DMC, Inc.","article_publisher":"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","article_published_time":"2024-07-15T15:01:02+00:00","article_modified_time":"2025-12-23T14:46:14+00:00","og_image":[{"width":925,"height":392,"url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg","type":"image\/jpeg"}],"author":"Natalie Pippolo","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Natalie Pippolo","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#article","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/"},"author":{"name":"Natalie Pippolo","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/7f65eba80d7b97fa51af9fe612756b93"},"headline":"Getting Started with the Paintable Canvas in Ignition Vision","datePublished":"2024-07-15T15:01:02+00:00","dateModified":"2025-12-23T14:46:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/"},"wordCount":1030,"publisher":{"@id":"https:\/\/www.dmcinfo.com\/#organization"},"image":{"@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg","keywords":["ignition"],"articleSection":["HMI and SCADA"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/","url":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/","name":"Getting Started with the Paintable Canvas in Ignition Vision | DMC, Inc.","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage"},"image":{"@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg","datePublished":"2024-07-15T15:01:02+00:00","dateModified":"2025-12-23T14:46:14+00:00","description":"Learn to create complex dynamic displays in no time with Ignition Vision\u2019s Paintable Canvas with this guide from DMC, Inc..","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/blog\/16140\/getting-started-with-the-paintable-canvas-in-ignition-vision\/#primaryimage","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27164855\/paintable-canvas-ignition-vision.jpg","width":925,"height":392,"caption":"paintable-canvas-ignition-vision"},{"@type":"WebSite","@id":"https:\/\/www.dmcinfo.com\/#website","url":"https:\/\/www.dmcinfo.com\/","name":"DMC, Inc.","description":"","publisher":{"@id":"https:\/\/www.dmcinfo.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dmcinfo.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dmcinfo.com\/#organization","name":"DMC, Inc.","url":"https:\/\/www.dmcinfo.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","width":418,"height":167,"caption":"DMC, Inc."},"image":{"@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","https:\/\/www.instagram.com\/dmcengineering","https:\/\/www.youtube.com\/DMCEngineering","https:\/\/www.linkedin.com\/company\/dmc-engineering"]},{"@type":"Person","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/7f65eba80d7b97fa51af9fe612756b93","name":"Natalie Pippolo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/person\/image\/","url":"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/194.png","contentUrl":"\/\/www.dmcinfo.com\/wp-content\/uploads\/wpo365\/profile-images\/194.png","caption":"Natalie Pippolo"},"url":"https:\/\/www.dmcinfo.com\/blog\/author\/nataliep\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/16140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/users\/194"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/comments?post=16140"}],"version-history":[{"count":1,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/16140\/revisions"}],"predecessor-version":[{"id":16142,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/posts\/16140\/revisions\/16142"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media\/16141"}],"wp:attachment":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media?parent=16140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/categories?post=16140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/tags?post=16140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}