Browse Source

Stackalloc bmp header

af/merge-core
Jason Nelson 8 years ago
parent
commit
5ad7ae5089
  1. 17
      src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs

17
src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs

@ -66,16 +66,25 @@ namespace SixLabors.ImageSharp.Formats.Bmp
reserved: 0,
fileSize: 54 + infoHeader.ImageSize);
byte[] buffer = new byte[40]; // TODO: stackalloc
#if NETCOREAPP2_1
Span<byte> buffer = stackalloc byte[40];
#else
byte[] buffer = new byte[40];
#endif
fileHeader.WriteTo(buffer);
#if NETCOREAPP2_1
stream.Write(buffer.Slice(0, BmpFileHeader.Size));
#else
stream.Write(buffer, 0, BmpFileHeader.Size);
#endif
infoHeader.WriteTo(buffer);
#if NETCOREAPP2_1
stream.Write(buffer.Slice(0, 40));
#else
stream.Write(buffer, 0, 40);
#endif
this.WriteImage(stream, image.Frames.RootFrame);
stream.Flush();

Loading…
Cancel
Save