mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-04-11 15:24:02 +08:00
28 lines
828 B
C#
28 lines
828 B
C#
using System;
|
|
using System.Drawing;
|
|
using System.Drawing.Imaging;
|
|
using System.IO;
|
|
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace BetterGenshinImpact.Service.Notification.Converter;
|
|
|
|
public class ImageToBase64Converter : JsonConverter<Image>
|
|
{
|
|
public override Image? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
|
{
|
|
if (reader.GetString() is string base64)
|
|
{
|
|
return Image.FromStream(new MemoryStream(Convert.FromBase64String(base64)));
|
|
}
|
|
return default;
|
|
}
|
|
|
|
public override void Write(Utf8JsonWriter writer, Image value, JsonSerializerOptions options)
|
|
{
|
|
using var ms = new MemoryStream();
|
|
value.Save(ms, ImageFormat.Jpeg);
|
|
writer.WriteBase64StringValue(ms.ToArray());
|
|
}
|
|
}
|