Browse Source

Merge pull request #1153 from SixLabors/js/more-efficient-base64

More Efficient ToBase64String
pull/1574/head
James Jackson-South 6 years ago
committed by GitHub
parent
commit
1b6e97594f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      src/ImageSharp/ImageExtensions.cs

12
src/ImageSharp/ImageExtensions.cs

@ -112,12 +112,12 @@ namespace SixLabors.ImageSharp
public static string ToBase64String<TPixel>(this Image<TPixel> source, IImageFormat format) public static string ToBase64String<TPixel>(this Image<TPixel> source, IImageFormat format)
where TPixel : unmanaged, IPixel<TPixel> where TPixel : unmanaged, IPixel<TPixel>
{ {
using (var stream = new MemoryStream()) using var stream = new MemoryStream();
{ source.Save(stream, format);
source.Save(stream, format);
stream.Flush(); // Always available.
return $"data:{format.DefaultMimeType};base64,{Convert.ToBase64String(stream.ToArray())}"; stream.TryGetBuffer(out ArraySegment<byte> buffer);
} return $"data:{format.DefaultMimeType};base64,{Convert.ToBase64String(buffer.Array, 0, (int)stream.Length)}";
} }
} }
} }

Loading…
Cancel
Save