File: PictureWriterExtensions.cs
Web Access
Project: src\src\Graphics\src\Graphics\Graphics.csproj (Microsoft.Maui.Graphics)
using System;
using System.IO;
using System.Threading.Tasks;
 
namespace Microsoft.Maui.Graphics
{
	public static class PictureWriterExtensions
	{
		public static byte[] SaveAsBytes(this IPictureWriter target, IPicture picture)
		{
			if (target == null || picture == null)
				return null;
 
			using (var stream = new MemoryStream())
			{
				target.Save(picture, stream);
				return stream.ToArray();
			}
		}
 
		public static async Task<byte[]> SaveAsBytesAsync(this IPictureWriter target, IPicture picture)
		{
			if (target == null || picture == null)
				return null;
 
			using (var stream = new MemoryStream())
			{
				await target.SaveAsync(picture, stream);
				return stream.ToArray();
			}
		}
 
		public static string SaveAsBase64(this IPictureWriter target, IPicture picture)
		{
			if (target == null)
				return null;
 
			var bytes = target.SaveAsBytes(picture);
			return Convert.ToBase64String(bytes);
		}
 
		public static Stream SaveAsStream(this IPictureWriter target, IPicture picture)
		{
			if (target == null)
				return null;
 
			var bytes = target.SaveAsBytes(picture);
			return new MemoryStream(bytes);
		}
	}
}