public static Image <Rgba32> ToImage(this DefaultImageRequest request) { return(new Image <Rgba32>( Configuration.Default, request.Width, request.Height, request.Color.HexStringToColor())); }
protected PlaceholdImage SaveImage(Image <Rgba32> image, DefaultImageRequest request) { if (string.IsNullOrWhiteSpace(request.Extension)) { throw new ArgumentNullException(nameof(request)); } using var outputStream = new MemoryStream(); string mimeType; switch (request.Extension.ToLower()) { case "gif": image.SaveAsGif(outputStream); mimeType = GifFormat.Instance.DefaultMimeType; break; case "png": image.SaveAsPng(outputStream); mimeType = PngFormat.Instance.DefaultMimeType; break; case "jpg": case "jpeg": default: image.SaveAsJpeg(outputStream, new JpegEncoder { Quality = 100 }); mimeType = JpegFormat.Instance.DefaultMimeType; break; } outputStream.Position = 0; return(new PlaceholdImage { Payload = outputStream.ToArray(), MimeType = mimeType }); }