| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- using Avalonia.Media;
 
- using Avalonia.Media.Imaging;
 
- using SkiaSharp;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace InABox.Avalonia;
 
- public static class ImageUtils
 
- {
 
-     public static Bitmap? ImageFromBytes(byte[]? value, bool transparent = true)
 
-     {
 
-         Bitmap? result = null;
 
-         if (value?.Any() == true)
 
-         {
 
-             if (transparent)
 
-             {
 
-                 var skb = SKBitmap.Decode(value);
 
-                 var transparentColor = skb.GetPixel(0, 0);
 
-                 var newPixels = skb.Pixels.Select(x => Equals(x, transparentColor) ? SKColors.Transparent : x);
 
-                 skb.Pixels = newPixels.ToArray();
 
-                 SKImage image = SKImage.FromPixels(skb.PeekPixels());
 
-                 SKData encoded = image.Encode(SKEncodedImageFormat.Png, 100);
 
-                 value = encoded.ToArray();
 
-             }
 
-             
 
-             using (var stream = new MemoryStream(value))
 
-             {
 
-                 result = new Bitmap(stream);
 
-             }
 
-         }
 
-         return result;
 
-     }
 
- }
 
 
  |