Exemplo n.º 1
0
 public static Image <Rgba32> ToImage(this DefaultImageRequest request)
 {
     return(new Image <Rgba32>(
                Configuration.Default,
                request.Width,
                request.Height,
                request.Color.HexStringToColor()));
 }
Exemplo n.º 2
0
        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
            });
        }