{"id":37497,"date":"2024-11-01T09:58:02","date_gmt":"2024-11-01T09:58:02","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37497"},"modified":"2024-11-01T11:02:29","modified_gmt":"2024-11-01T11:02:29","slug":"uwp-development-pen-and-shape","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37497\/","title":{"rendered":"UWP Development, Pen and Shape"},"content":{"rendered":"<article>\n<header>\n<p>UWP (Universal Windows Platform) is a platform provided by Microsoft that allows applications to be developed for various devices running Windows 10. This article will explain in detail how to draw graphics using Pen and Shape in UWP.<\/p>\n<\/header>\n<section>\n<h2>Overview of Graphics Processing in UWP<\/h2>\n<p>In UWP, XAML and C# are used for graphics processing, enabling developers to easily and quickly create UIs and implement interactions with users. Pen and Shape play important roles in this graphic implementation.<\/p>\n<\/section>\n<section>\n<h2>Introduction to Pen<\/h2>\n<p>The Pen object is a tool used to draw lines, curves, or other paths. The Pen can specify the thickness, color, style, and more of the line.<\/p>\n<pre><code>using Windows.UI.Xaml.Media;\n\/\/ Create a Pen object\nvar myPen = new Pen\n{\n    Brush = new SolidColorBrush(Windows.UI.Colors.Blue),\n    Thickness = 2\n};<\/code><\/pre>\n<\/section>\n<section>\n<h2>Introduction to Shape<\/h2>\n<p>Shape is a class for drawing basic shapes. There are several Shape classes available in UWP, including Rectangle, Ellipse, Line, Polygon, and Path. Each class is used to represent various shapes.<\/p>\n<\/section>\n<section>\n<h2>Basic Pen Usage Example<\/h2>\n<p>The code below is a simple example of drawing a line on a Canvas using Pen in a UWP application.<\/p>\n<pre><code>&lt;Canvas x:Name=\"myCanvas\"&gt;\n    &lt;Path Stroke=\"{StaticResource MyPen}\" Data=\"M 20,20 L 200,200\" \/&gt;\n&lt;\/Canvas&gt;\n\nprivate void DrawLine()\n{\n    var myPen = new Pen\n    {\n        Brush = new SolidColorBrush(Windows.UI.Colors.Red),\n        Thickness = 3\n    };\n    \n    var line = new Line\n    {\n        X1 = 20,\n        Y1 = 20,\n        X2 = 200,\n        Y2 = 200,\n        Stroke = myPen.Brush,\n        StrokeThickness = myPen.Thickness\n    };\n\n    myCanvas.Children.Add(line);\n}<\/code><\/pre>\n<\/section>\n<section>\n<h2>Examples of Various Shapes<\/h2>\n<p>UWP allows you to use various Shapes. Below is an example of drawing a Rectangle and an Ellipse.<\/p>\n<pre><code>&lt;Canvas x:Name=\"myCanvas\"&gt;\n    &lt;Rectangle Width=\"100\" Height=\"50\" Fill=\"Green\" \/&gt;\n    &lt;Ellipse Width=\"100\" Height=\"50\" Fill=\"Blue\" \/&gt;\n&lt;\/Canvas&gt;\n\nprivate void DrawShapes()\n{\n    var rectangle = new Rectangle\n    {\n        Width = 100,\n        Height = 50,\n        Fill = new SolidColorBrush(Windows.UI.Colors.Green)\n    };\n\n    var ellipse = new Ellipse\n    {\n        Width = 100,\n        Height = 50,\n        Fill = new SolidColorBrush(Windows.UI.Colors.Blue)\n    };\n\n    myCanvas.Children.Add(rectangle);\n    myCanvas.Children.Add(ellipse);\n}<\/code><\/pre>\n<\/section>\n<section>\n<h2>Adding Interactions<\/h2>\n<p>After drawing graphics with Pen and Shape, you can add interactions with users. For example, here is how to change the color of a shape when the mouse is clicked.<\/p>\n<pre><code>private void myCanvas_PointerPressed(object sender, PointerRoutedEventArgs e)\n{\n    var point = e.GetCurrentPoint(myCanvas).Position;\n    var ellipse = new Ellipse\n    {\n        Width = 50,\n        Height = 50,\n        Fill = new SolidColorBrush(Windows.UI.Colors.Red),\n        Margin = new Thickness(point.X, point.Y, 0, 0)\n    };\n    myCanvas.Children.Add(ellipse);\n}<\/code><\/pre>\n<\/section>\n<section>\n<h2>Utilizing the Combination of Pen and Shape in UWP<\/h2>\n<p>Pen and Shape can be used together to create complex graphics easily. For example, it is possible to combine multiple Shapes to create a complex figure. Additionally, the path of the Shape can be drawn using the Pen.<\/p>\n<pre><code>private void DrawComplexShape()\n{\n    var myPath = new Path\n    {\n        Stroke = new SolidColorBrush(Windows.UI.Colors.Black),\n        StrokeThickness = 1,\n        Data = Geometry.Parse(\"M 10,100 C 20,10, 40,10, 50,100\")\n    };\n\n    myCanvas.Children.Add(myPath);\n}<\/code><\/pre>\n<\/section>\n<section>\n<h2>Performance Optimization<\/h2>\n<p>Optimizing performance while using Pen and Shape in UWP is very important. Especially when drawing a large number of shapes, performance degradation might occur, so batching and offscreen rendering should be considered.<\/p>\n<pre><code>private void OptimizeRendering()\n{\n    var visualLayer = new DrawingVisual();\n    using (var dc = visualLayer.RenderOpen())\n    {\n        for (int i = 0; i &lt; 1000; i++)\n        {\n            dc.DrawEllipse(new SolidColorBrush(Colors.Blue), null, new Point(i * 10, i * 10), 5, 5);\n        }\n    }\n}<\/code><\/pre>\n<\/section>\n<footer>\n<h2>Conclusion<\/h2>\n<p>This article discussed how to utilize Pen and Shape in UWP. With Pen and Shape, developers can implement a variety of graphics, providing a richer and more intuitive UI. The code examples shown demonstrate practical implementation methods that you can apply in your applications.<\/p>\n<\/footer>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>UWP (Universal Windows Platform) is a platform provided by Microsoft that allows applications to be developed for various devices running Windows 10. This article will explain in detail how to draw graphics using Pen and Shape in UWP. Overview of Graphics Processing in UWP In UWP, XAML and C# are used for graphics processing, enabling &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37497\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;UWP Development, Pen and Shape&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[115],"tags":[],"class_list":["post-37497","post","type-post","status-publish","format-standard","hentry","category-uwp-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>UWP Development, Pen and Shape - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/37497\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"UWP Development, Pen and Shape - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"UWP (Universal Windows Platform) is a platform provided by Microsoft that allows applications to be developed for various devices running Windows 10. This article will explain in detail how to draw graphics using Pen and Shape in UWP. Overview of Graphics Processing in UWP In UWP, XAML and C# are used for graphics processing, enabling &hellip; \ub354 \ubcf4\uae30 &quot;UWP Development, Pen and Shape&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37497\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:58:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:02:29+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37497\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37497\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"UWP Development, Pen and Shape\",\"datePublished\":\"2024-11-01T09:58:02+00:00\",\"dateModified\":\"2024-11-01T11:02:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37497\/\"},\"wordCount\":349,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"UWP Programming\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37497\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37497\/\",\"name\":\"UWP Development, Pen and Shape - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:58:02+00:00\",\"dateModified\":\"2024-11-01T11:02:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37497\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37497\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37497\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"UWP Development, Pen and Shape\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"UWP Development, Pen and Shape - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","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:\/\/atmokpo.com\/w\/37497\/","og_locale":"ko_KR","og_type":"article","og_title":"UWP Development, Pen and Shape - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"UWP (Universal Windows Platform) is a platform provided by Microsoft that allows applications to be developed for various devices running Windows 10. This article will explain in detail how to draw graphics using Pen and Shape in UWP. Overview of Graphics Processing in UWP In UWP, XAML and C# are used for graphics processing, enabling &hellip; \ub354 \ubcf4\uae30 \"UWP Development, Pen and Shape\"","og_url":"https:\/\/atmokpo.com\/w\/37497\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:58:02+00:00","article_modified_time":"2024-11-01T11:02:29+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37497\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37497\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"UWP Development, Pen and Shape","datePublished":"2024-11-01T09:58:02+00:00","dateModified":"2024-11-01T11:02:29+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37497\/"},"wordCount":349,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["UWP Programming"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37497\/","url":"https:\/\/atmokpo.com\/w\/37497\/","name":"UWP Development, Pen and Shape - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:58:02+00:00","dateModified":"2024-11-01T11:02:29+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37497\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37497\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37497\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"UWP Development, Pen and Shape"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=37497"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37497\/revisions"}],"predecessor-version":[{"id":37498,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37497\/revisions\/37498"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}