{"id":37797,"date":"2024-11-01T10:00:30","date_gmt":"2024-11-01T10:00:30","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37797"},"modified":"2024-11-01T11:03:40","modified_gmt":"2024-11-01T11:03:40","slug":"wpf-course-basic-concepts-of-animation-in-wpf","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37797\/","title":{"rendered":"WPF Course, Basic Concepts of Animation in WPF"},"content":{"rendered":"<p>WPF (Windows Presentation Foundation) is a powerful tool that is part of the .NET framework, enabling the design and implementation of rich user interfaces. One of the most appealing features of WPF is its ability to enhance the UI through animations, making it more engaging and user-friendly. This course aims to help you understand the basic concepts of animation in WPF, various techniques, and practical exercises.<\/p>\n<h2>1. Basic Concept of Animation<\/h2>\n<p>Animation refers to the properties of an object that change over time. In WPF, animations are used to improve the visual aspects of UI elements and enhance the user experience. There are various ways to define animations in WPF, allowing users to create more dynamic UIs. Animations provide visually appealing effects by changing the properties of components over time.<\/p>\n<h3>1.1 The Necessity of Animation<\/h3>\n<p>Animation is a powerful tool that goes beyond simple visual effects, effectively grabbing users&#8217; attention and conveying information. For example, effects like changing the color when the mouse hovers over a button or smoothly displaying a popup contribute to building user trust and enhancing system consistency. Additionally, animations can make the interactions of the user interface more intuitive.<\/p>\n<h3>1.2 Types of Animation<\/h3>\n<p>There are various types of animations that can be utilized in WPF. The most commonly used types of animation include:<\/p>\n<ul>\n<li><strong>Transform Animation:<\/strong> Changes the position, rotation, and size of UI elements.<\/li>\n<li><strong>Color Animation:<\/strong> Handles changes in color.<\/li>\n<li><strong>Opacity Animation:<\/strong> Controls the transparency of an element to make it gradually appear or disappear.<\/li>\n<li><strong>Scale Animation:<\/strong> Modifies the size of UI components.<\/li>\n<li><strong>Easing Effect:<\/strong> Adjusts the speed of animation to provide more natural movements.<\/li>\n<\/ul>\n<h2>2. Basics of WPF Animation<\/h2>\n<p>To implement animation in WPF, you first need to define the UI element to which the animation will be applied, and then set the animation behavior for that element. This process is typically done through XAML (Extensible Application Markup Language) and C#.<\/p>\n<h3>2.1 Defining Animation in XAML<\/h3>\n<p>Using XAML, you can visually define and manage animations. Below is an example of defining an animation that changes the color when the button is clicked:<\/p>\n<blockquote>\n<pre>\n<code class=\"language-xml\">\n<button content=\"Click Me\" height=\"50\" width=\"100\">\n    <button.resources>\n        <storyboard x:key=\"ColorAnimationStoryboard\">\n            <coloranimation duration=\"0:0:1\" from=\"Red\" storyboard.targetproperty=\"(Button.Background).(SolidColorBrush.Color)\" to=\"Green\"><\/coloranimation>\n        <\/storyboard>\n    <\/button.resources>\n    <button.triggers>\n        <eventtrigger routedevent=\"Button.Click\">\n            <beginstoryboard storyboard=\"{StaticResource ColorAnimationStoryboard}\"><\/beginstoryboard>\n        <\/eventtrigger>\n    <\/button.triggers>\n<\/button>\n<\/code>\n<\/pre>\n<\/blockquote>\n<p>In the code above, we define an animation using ColorAnimation to change the button&#8217;s background color from red to green over one second. The animation is triggered when the button click event occurs through the EventTrigger.<\/p>\n<h3>2.2 Defining Animation in C# Code<\/h3>\n<p>You can also define animations in C# code. Below is an example of implementing the same animation in C#:<\/p>\n<blockquote>\n<pre>\n<code class=\"language-csharp\">\nprivate void Button_Click(object sender, RoutedEventArgs e)\n{\n    ColorAnimation colorAnimation = new ColorAnimation();\n    colorAnimation.From = Colors.Red;\n    colorAnimation.To = Colors.Green;\n    colorAnimation.Duration = TimeSpan.FromSeconds(1);\n\n    SolidColorBrush brush = (SolidColorBrush)myButton.Background;\n    brush.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);\n}\n<\/code>\n<\/pre>\n<\/blockquote>\n<p>By defining the animation in C#, you can handle the animation in a more dynamic manner. The animation will execute whenever the button click event occurs.<\/p>\n<h2>3. Various Animation Effects<\/h2>\n<p>WPF allows for the implementation of various animation effects, making the user interface richer and more intuitive. Here, we will explore some key animation effects.<\/p>\n<h3>3.1 Moving Animation<\/h3>\n<p>You can create animations that move elements across the screen. Below is an animation where a button moves from left to right along the X-axis:<\/p>\n<blockquote>\n<pre>\n<code class=\"language-xml\">\n<button content=\"Move Me\" height=\"50\" width=\"100\" x:name=\"movingButton\">\n    <button.resources>\n        <storyboard x:key=\"MoveStoryboard\">\n            <doubleanimation duration=\"0:0:2\" from=\"0\" storyboard.targetname=\"movingButton\" storyboard.targetproperty=\"(Canvas.Left)\" to=\"200\"><\/doubleanimation>\n        <\/storyboard>\n    <\/button.resources>\n    <button.triggers>\n        <eventtrigger routedevent=\"Button.Click\">\n            <beginstoryboard storyboard=\"{StaticResource MoveStoryboard}\"><\/beginstoryboard>\n        <\/eventtrigger>\n    <\/button.triggers>\n<\/button>\n<\/code>\n<\/pre>\n<\/blockquote>\n<h3>3.2 Resize Animation<\/h3>\n<p>You can implement animations that adjust the size of UI elements. Below is a code snippet that changes the size of a button:<\/p>\n<blockquote>\n<pre>\n<code class=\"language-xml\">\n<button content=\"Resize Me\" height=\"50\" width=\"100\" x:name=\"resizingButton\">\n    <button.resources>\n        <storyboard x:key=\"ResizeStoryboard\">\n            <doubleanimation duration=\"0:0:2\" from=\"100\" storyboard.targetname=\"resizingButton\" storyboard.targetproperty=\"Width\" to=\"200\"><\/doubleanimation>\n        <\/storyboard>\n    <\/button.resources>\n    <button.triggers>\n        <eventtrigger routedevent=\"Button.Click\">\n            <beginstoryboard storyboard=\"{StaticResource ResizeStoryboard}\"><\/beginstoryboard>\n        <\/eventtrigger>\n    <\/button.triggers>\n<\/button>\n<\/code>\n<\/pre>\n<\/blockquote>\n<h3>3.3 Rotation Animation<\/h3>\n<p>Animations that rotate elements are also useful. Below is an example of an animation that rotates a button:<\/p>\n<blockquote>\n<pre>\n<code class=\"language-xml\">\n<button content=\"Rotate Me\" height=\"50\" rendertransformorigin=\"0.5,0.5\" width=\"100\" x:name=\"rotatingButton\">\n    <button.rendertransform>\n        <rotatetransform x:name=\"rotateTransform\"><\/rotatetransform>\n    <\/button.rendertransform>\n    <button.resources>\n        <storyboard x:key=\"RotateStoryboard\">\n            <doubleanimation duration=\"0:0:2\" from=\"0\" storyboard.targetname=\"rotateTransform\" storyboard.targetproperty=\"Angle\" to=\"360\"><\/doubleanimation>\n        <\/storyboard>\n    <\/button.resources>\n    <button.triggers>\n        <eventtrigger routedevent=\"Button.Click\">\n            <beginstoryboard storyboard=\"{StaticResource RotateStoryboard}\"><\/beginstoryboard>\n        <\/eventtrigger>\n    <\/button.triggers>\n<\/button>\n<\/code>\n<\/pre>\n<\/blockquote>\n<h2>4. Easing Effects of Animation<\/h2>\n<p>You can create more natural movements by adjusting the speed of animations. Easing effects allow the speed of animation to be applied differently at the start and end. WPF provides various easing effects to make animations feel more lively.<\/p>\n<h3>4.1 Basic Easing Effects<\/h3>\n<p>The basic easing effects provided by WPF are as follows:<\/p>\n<ul>\n<li><strong>LinearEase:<\/strong> progresses the animation at a constant speed.<\/li>\n<li><strong>QuadraticEase:<\/strong> increases and decreases speed based on a quadratic curve.<\/li>\n<li><strong>CubicEase:<\/strong> provides smoother and more natural animations based on a cubic curve.<\/li>\n<li><strong>SineEase:<\/strong> smoothly changes the speed based on a sine wave.<\/li>\n<\/ul>\n<h3>4.2 Example of Applying Easing Effect<\/h3>\n<p>Applying an easing effect to an animation is straightforward. The following example uses QuadraticEase to change the position of a button:<\/p>\n<blockquote>\n<pre>\n<code class=\"language-xml\">\n<button content=\"Ease Me\" height=\"50\" width=\"100\" x:name=\"easingButton\">\n    <button.resources>\n        <storyboard x:key=\"EaseStoryboard\">\n            <doubleanimation duration=\"0:0:2\" from=\"0\" storyboard.targetname=\"easingButton\" storyboard.targetproperty=\"(Canvas.Left)\" to=\"200\">\n                <doubleanimation.easingfunction>\n                    <quadraticease><\/quadraticease>\n                <\/doubleanimation.easingfunction>\n            <\/doubleanimation>\n        <\/storyboard>\n    <\/button.resources>\n    <button.triggers>\n        <eventtrigger routedevent=\"Button.Click\">\n            <beginstoryboard storyboard=\"{StaticResource EaseStoryboard}\"><\/beginstoryboard>\n        <\/eventtrigger>\n    <\/button.triggers>\n<\/button>\n<\/code>\n<\/pre>\n<\/blockquote>\n<h2>5. Performance Considerations of Animation<\/h2>\n<p>While animations greatly enhance the user experience, it is important to consider their impact on performance. Here are some performance-related aspects to consider when implementing WPF animations:<\/p>\n<h3>5.1 Using Device Graphics Card<\/h3>\n<p>Since WPF is based on DirectX, the performance of animations and graphics depends on the graphics card performance of the user&#8217;s device. Using a high-end graphics card can improve animation performance, so it&#8217;s important to consider the hardware capabilities of all users.<\/p>\n<h3>5.2 Frame Rate<\/h3>\n<p>To keep the flow of animations smooth, an appropriate frame rate is necessary. If the FPS (Frames Per Second) drops, the animation may stutter or appear jerky. To resolve this, it is important to reduce the complexity of animations or optimize performance related to rendering.<\/p>\n<h3>5.3 Animation Termination and Cleanup<\/h3>\n<p>When dynamically creating animations, ensure that they terminate properly and resources are released. This helps prevent memory leaks and maintain the performance of the application.<\/p>\n<h2>6. Conclusion<\/h2>\n<p>Animations play a crucial role in making the user interface in WPF more appealing and intuitive. By visually representing the state changes of UI elements through animations, you can provide a better user experience. This course covered the basic concepts of animation in WPF and various animation techniques. Utilize various animations to make your applications more interesting and user-friendly.<\/p>\n<h2>References<\/h2>\n<p>If you would like more information, please refer to the following resources:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/desktop\/wpf\/graphics-multimedia\/animation-overview\">WPF Animation Overview<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/desktop\/wpf\/graphics-multimedia\/creating-animations-in-wpf\">Creating Animations in WPF<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/desktop\/wpf\/graphics-multimedia\/storyboards-overview\">Storyboard Overview<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>WPF (Windows Presentation Foundation) is a powerful tool that is part of the .NET framework, enabling the design and implementation of rich user interfaces. One of the most appealing features of WPF is its ability to enhance the UI through animations, making it more engaging and user-friendly. This course aims to help you understand the &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37797\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;WPF Course, Basic Concepts of Animation in WPF&#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":[117],"tags":[],"class_list":["post-37797","post","type-post","status-publish","format-standard","hentry","category-wpf-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WPF Course, Basic Concepts of Animation in WPF - \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\/37797\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WPF Course, Basic Concepts of Animation in WPF - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"WPF (Windows Presentation Foundation) is a powerful tool that is part of the .NET framework, enabling the design and implementation of rich user interfaces. One of the most appealing features of WPF is its ability to enhance the UI through animations, making it more engaging and user-friendly. This course aims to help you understand the &hellip; \ub354 \ubcf4\uae30 &quot;WPF Course, Basic Concepts of Animation in WPF&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37797\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T10:00:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:03:40+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=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37797\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37797\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"WPF Course, Basic Concepts of Animation in WPF\",\"datePublished\":\"2024-11-01T10:00:30+00:00\",\"dateModified\":\"2024-11-01T11:03:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37797\/\"},\"wordCount\":896,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"WPF Programming\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37797\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37797\/\",\"name\":\"WPF Course, Basic Concepts of Animation in WPF - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T10:00:30+00:00\",\"dateModified\":\"2024-11-01T11:03:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37797\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37797\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37797\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WPF Course, Basic Concepts of Animation in WPF\"}]},{\"@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":"WPF Course, Basic Concepts of Animation in WPF - \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\/37797\/","og_locale":"ko_KR","og_type":"article","og_title":"WPF Course, Basic Concepts of Animation in WPF - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"WPF (Windows Presentation Foundation) is a powerful tool that is part of the .NET framework, enabling the design and implementation of rich user interfaces. One of the most appealing features of WPF is its ability to enhance the UI through animations, making it more engaging and user-friendly. This course aims to help you understand the &hellip; \ub354 \ubcf4\uae30 \"WPF Course, Basic Concepts of Animation in WPF\"","og_url":"https:\/\/atmokpo.com\/w\/37797\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T10:00:30+00:00","article_modified_time":"2024-11-01T11:03:40+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":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37797\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37797\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"WPF Course, Basic Concepts of Animation in WPF","datePublished":"2024-11-01T10:00:30+00:00","dateModified":"2024-11-01T11:03:40+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37797\/"},"wordCount":896,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["WPF Programming"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37797\/","url":"https:\/\/atmokpo.com\/w\/37797\/","name":"WPF Course, Basic Concepts of Animation in WPF - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T10:00:30+00:00","dateModified":"2024-11-01T11:03:40+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37797\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37797\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37797\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"WPF Course, Basic Concepts of Animation in WPF"}]},{"@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\/37797","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=37797"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37797\/revisions"}],"predecessor-version":[{"id":37798,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37797\/revisions\/37798"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37797"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37797"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}