[NUI] Add EncodedImageBuffer sample
authorEunki Hong <eunkiki.hong@samsung.com>
Sun, 29 Jan 2023 07:49:13 +0000 (16:49 +0900)
committerJaehyun Cho <jaehyun0cho@gmail.com>
Wed, 1 Feb 2023 07:07:33 +0000 (16:07 +0900)
Add sample to use EncodedImageBuffer.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/EncodedImageSample.cs [new file with mode: 0755]

diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/EncodedImageSample.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/EncodedImageSample.cs
new file mode 100755 (executable)
index 0000000..4900772
--- /dev/null
@@ -0,0 +1,50 @@
+
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Components;
+
+namespace Tizen.NUI.Samples
+{
+    public class EncodedImageTest : IExample
+    {
+        Window win;
+        ImageView imageView;
+
+        static public string DEMO_IMAGE_DIR = CommonResource.GetDaliResourcePath() + "DaliDemo/";
+
+        public void Activate()
+        {
+            win = NUIApplication.GetDefaultWindow();
+            
+            EncodedImageBuffer buffer;
+            ImageUrl imageUrl;
+            
+            buffer = CreateEncodedImageBuffer(DEMO_IMAGE_DIR + "Logo-for-demo.png");
+
+            imageUrl = buffer?.GenerateUrl();
+
+            imageView = new ImageView()
+            {
+                WidthResizePolicy = ResizePolicyType.FillToParent,
+                HeightResizePolicy = ResizePolicyType.FillToParent,
+
+                ResourceUrl = imageUrl?.ToString(),
+            };
+
+            win.GetDefaultLayer().Add(imageView);
+        }
+
+        private EncodedImageBuffer CreateEncodedImageBuffer(string filename)
+        {
+            EncodedImageBuffer buffer = null;
+            global::System.IO.Stream stream = new global::System.IO.FileStream(filename, global::System.IO.FileMode.Open);
+            buffer = new EncodedImageBuffer(stream);
+            return buffer;
+        }
+
+        public void Deactivate()
+        {
+            imageView?.Unparent();
+            imageView?.Dispose();
+        }
+    }
+}