diff --git a/src/ImageSharp/ImageFrame{TPixel}.cs b/src/ImageSharp/ImageFrame{TPixel}.cs
index 0c00349f2..0171f3d07 100644
--- a/src/ImageSharp/ImageFrame{TPixel}.cs
+++ b/src/ImageSharp/ImageFrame{TPixel}.cs
@@ -173,6 +173,7 @@ namespace SixLabors.ImageSharp
///
/// The row.
/// The
+ /// Thrown when row index is out of range.
public Span GetPixelRowSpan(int rowIndex)
{
Guard.MustBeGreaterThanOrEqualTo(rowIndex, 0, nameof(rowIndex));
diff --git a/src/ImageSharp/Image{TPixel}.cs b/src/ImageSharp/Image{TPixel}.cs
index 20be772e2..f6173db97 100644
--- a/src/ImageSharp/Image{TPixel}.cs
+++ b/src/ImageSharp/Image{TPixel}.cs
@@ -169,6 +169,7 @@ namespace SixLabors.ImageSharp
///
/// The row.
/// The
+ /// Thrown when row index is out of range.
public Span GetPixelRowSpan(int rowIndex)
{
Guard.MustBeGreaterThanOrEqualTo(rowIndex, 0, nameof(rowIndex));
diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
index c8a8baf1d..7352ddd7d 100644
--- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
+++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs
@@ -1,6 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
+using System;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using Xunit;
@@ -17,5 +18,15 @@ namespace SixLabors.ImageSharp.Tests
image.Mutate(c => c.Resize(1000, 1000));
image.DebugSave(provider);
}
+
+ [Theory]
+ [WithBasicTestPatternImages(width: 10, height: 10, PixelTypes.Rgba32)]
+ public void GetSingleSpan(TestImageProvider provider)
+ {
+ provider.LimitAllocatorBufferCapacity().InPixels(10);
+ using Image image = provider.GetImage();
+ Assert.False(image.TryGetSinglePixelSpan(out Span imageSpan));
+ Assert.False(image.Frames.RootFrame.TryGetSinglePixelSpan(out Span imageFrameSpan));
+ }
}
}