Browse Source

address review findings

pull/1296/head
Anton Firszov 6 years ago
parent
commit
1447fbc76c
  1. 13
      src/ImageSharp/Formats/Bmp/BmpDecoder.cs
  2. 6
      src/ImageSharp/Formats/Gif/GifDecoder.cs
  3. 8
      src/ImageSharp/Formats/ImageDecoderUtilities.cs
  4. 0
      src/ImageSharp/Formats/ImageExtensions.Save.cs
  5. 0
      src/ImageSharp/Formats/ImageExtensions.Save.tt
  6. 9
      src/ImageSharp/ImageSharp.csproj

13
src/ImageSharp/Formats/Bmp/BmpDecoder.cs

@ -37,7 +37,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
Guard.NotNull(stream, nameof(stream));
var decoder = new BmpDecoderCore(configuration, this);
return decoder.Decode<TPixel>(configuration, stream, CreateLargeImageException);
return decoder.Decode<TPixel>(configuration, stream);
}
/// <inheritdoc />
@ -51,7 +51,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
Guard.NotNull(stream, nameof(stream));
var decoder = new BmpDecoderCore(configuration, this);
return decoder.DecodeAsync<TPixel>(configuration, stream, CreateLargeImageException, cancellationToken);
return decoder.DecodeAsync<TPixel>(configuration, stream, cancellationToken);
}
/// <inheritdoc />
@ -64,7 +64,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
{
Guard.NotNull(stream, nameof(stream));
return new BmpDecoderCore(configuration, this).Identify(configuration, stream, CreateLargeImageException);
return new BmpDecoderCore(configuration, this).Identify(configuration, stream);
}
/// <inheritdoc/>
@ -72,12 +72,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
{
Guard.NotNull(stream, nameof(stream));
return new BmpDecoderCore(configuration, this).IdentifyAsync(configuration, stream, CreateLargeImageException, cancellationToken);
}
private static InvalidImageContentException CreateLargeImageException(InvalidMemoryOperationException ex, Size dims)
{
return new InvalidImageContentException($"Cannot decode image. Failed to allocate buffers for possibly degenerate dimensions: {dims.Width}x{dims.Height}. This error can happen for very large RLE bitmaps, which are not supported.", ex);
return new BmpDecoderCore(configuration, this).IdentifyAsync(configuration, stream, cancellationToken);
}
}
}

6
src/ImageSharp/Formats/Gif/GifDecoder.cs

@ -63,14 +63,12 @@ namespace SixLabors.ImageSharp.Formats.Gif
}
/// <inheritdoc/>
public async Task<IImageInfo> IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken)
public Task<IImageInfo> IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken)
{
Guard.NotNull(stream, nameof(stream));
var decoder = new GifDecoderCore(configuration, this);
using var bufferedStream = new BufferedReadStream(configuration, stream);
return await decoder.IdentifyAsync(configuration, bufferedStream, cancellationToken);
return decoder.IdentifyAsync(configuration, stream, cancellationToken);
}
}
}

8
src/ImageSharp/Formats/ImageDecoderUtilities.cs

@ -127,14 +127,10 @@ namespace SixLabors.ImageSharp.Formats
}
}
public static IImageInfo Identify(this IImageDecoderInternals decoder, Configuration configuration, Stream stream)
=> decoder.Identify(configuration, stream, DefaultLargeImageExceptionFactory);
public static IImageInfo Identify(
this IImageDecoderInternals decoder,
Configuration configuration,
Stream stream,
Func<InvalidMemoryOperationException, Size, InvalidImageContentException> largeImageExceptionFactory)
Stream stream)
{
using BufferedReadStream bufferedReadStream = new BufferedReadStream(configuration, stream);
@ -144,7 +140,7 @@ namespace SixLabors.ImageSharp.Formats
}
catch (InvalidMemoryOperationException ex)
{
throw largeImageExceptionFactory(ex, decoder.Dimensions);
throw new InvalidImageContentException(decoder.Dimensions, ex);
}
}

0
src/ImageSharp/Formats/ImageExtesions.Save.cs → src/ImageSharp/Formats/ImageExtensions.Save.cs

0
src/ImageSharp/Formats/ImageExtesions.Save.tt → src/ImageSharp/Formats/ImageExtensions.Save.tt

9
src/ImageSharp/ImageSharp.csproj

@ -17,7 +17,6 @@
<PackageId>SixLabors.ImageSharp</PackageId>
<PackageTags>Image Resize Crop Gif Jpg Jpeg Bitmap Png Core</PackageTags>
<RootNamespace>SixLabors.ImageSharp</RootNamespace>
<NoWarn>SA1636</NoWarn>
</PropertyGroup>
<ItemGroup>
@ -133,10 +132,10 @@
<AutoGen>True</AutoGen>
<DependentUpon>PorterDuffFunctions.Generated.tt</DependentUpon>
</Compile>
<Compile Update="Formats\ImageExtesions.Save.cs">
<Compile Update="Formats\ImageExtensions.Save.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>ImageExtesions.Save.tt</DependentUpon>
<DependentUpon>ImageExtensions.Save.tt</DependentUpon>
</Compile>
</ItemGroup>
@ -213,9 +212,9 @@
<LastGenOutput>DefaultPixelBlenders.Generated.cs</LastGenOutput>
<Generator>TextTemplatingFileGenerator</Generator>
</None>
<None Update="Formats\ImageExtesions.Save.tt">
<None Update="Formats\ImageExtensions.Save.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>ImageExtesions.Save.cs</LastGenOutput>
<LastGenOutput>ImageExtensions.Save.cs</LastGenOutput>
</None>
</ItemGroup>

Loading…
Cancel
Save