From d005345798a2a0cee874ad2f723ccde5381279cf Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Sun, 13 Jul 2025 22:06:02 -0700 Subject: [PATCH] Add image util --- Assets/Scripts/ImageUtil.cs | 33 ++++++++++++++++++++++++++++++++ Assets/Scripts/ImageUtil.cs.meta | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 Assets/Scripts/ImageUtil.cs create mode 100644 Assets/Scripts/ImageUtil.cs.meta diff --git a/Assets/Scripts/ImageUtil.cs b/Assets/Scripts/ImageUtil.cs new file mode 100644 index 0000000..08d514f --- /dev/null +++ b/Assets/Scripts/ImageUtil.cs @@ -0,0 +1,33 @@ + +using System; +using UnityEngine; +using UnityEngine.UI; + +public class ImageUtil +{ + public void RenderFromBase64(string base64, Image targetImage) + { + byte[] imageData = Convert.FromBase64String(base64); + Texture2D tex = new(2, 2, TextureFormat.ARGB32, false); + if (!tex.LoadImage(imageData)) return; + + tex.filterMode = FilterMode.Point; + tex.Apply(false, false); + + Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f)); + targetImage.sprite = sprite; + } + + public void RenderFromBase64(string base64, SpriteRenderer targetImage) + { + byte[] imageData = Convert.FromBase64String(base64); + Texture2D tex = new(2, 2, TextureFormat.ARGB32, false); + if (!tex.LoadImage(imageData)) return; + + tex.filterMode = FilterMode.Point; + tex.Apply(false, false); + + Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f)); + targetImage.sprite = sprite; + } +} \ No newline at end of file diff --git a/Assets/Scripts/ImageUtil.cs.meta b/Assets/Scripts/ImageUtil.cs.meta new file mode 100644 index 0000000..19e0895 --- /dev/null +++ b/Assets/Scripts/ImageUtil.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f608a791036150d12852f910d572dbc4 \ No newline at end of file