From e775895bf0332334ef1925a6cdeff27bc341ad8a Mon Sep 17 00:00:00 2001 From: Paweł Bernaciak Date: Sat, 21 Oct 2023 20:43:00 +0200 Subject: Change how element icons are stored --- backend/Elements.Data/ApplicationDbContext.cs | 28 ++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'backend/Elements.Data/ApplicationDbContext.cs') diff --git a/backend/Elements.Data/ApplicationDbContext.cs b/backend/Elements.Data/ApplicationDbContext.cs index bab3170..2187feb 100644 --- a/backend/Elements.Data/ApplicationDbContext.cs +++ b/backend/Elements.Data/ApplicationDbContext.cs @@ -1,5 +1,7 @@ using Elements.Data.Models; using Microsoft.EntityFrameworkCore; +using SixLabors.ImageSharp.Formats.Png; +using Image = SixLabors.ImageSharp.Image; namespace Elements.Data; public class ApplicationDbContext : DbContext @@ -25,6 +27,11 @@ public class ApplicationDbContext : DbContext Elements = new List(), Suggestions = new List() }); + + byte[] fireData = Convert.FromBase64String("//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQ///cEP//3BD//9wQw=="); + byte[] waterData = Convert.FromBase64String("/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8/8hlvP/IZbz/yGW8w=="); + byte[] airData = Convert.FromBase64String("/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+w=="); + byte[] groundData = Convert.FromBase64String("/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11ANw=="); modelBuilder.Entity().HasData( new Element() @@ -33,8 +40,7 @@ public class ApplicationDbContext : DbContext Name = "Fire", UserId = 1, State = ElementState.HasIcon, - IconBitmap = - "/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w==" + IconPng = ConvertBitmapToPng(fireData) }, new Element() { @@ -42,8 +48,7 @@ public class ApplicationDbContext : DbContext Name = "Water", UserId = 1, State = ElementState.HasIcon, - IconBitmap = - "IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/w==" + IconPng = ConvertBitmapToPng(waterData) }, new Element() { @@ -51,9 +56,7 @@ public class ApplicationDbContext : DbContext Name = "Air", UserId = 1, State = ElementState.HasIcon, - IconBitmap = - "u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/w==" - + IconPng = ConvertBitmapToPng(airData) }, new Element() { @@ -61,8 +64,15 @@ public class ApplicationDbContext : DbContext Name = "Ground", UserId = 1, State = ElementState.HasIcon, - IconBitmap = - "XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/w==" + IconPng = ConvertBitmapToPng(groundData) }); } + + private static byte[] ConvertBitmapToPng(byte[] bitmapData) + { + Image image = Image.LoadPixelData(bitmapData, 16, 16); + using MemoryStream resultStream = new(); + image.Save(resultStream, new PngEncoder()); + return resultStream.ToArray(); + } } -- cgit v1.2.3