Browse Source

DangerousGetPixelRowMemory

af/UniformUnmanagedMemoryPoolMemoryAllocator-02-MemoryGuards
Anton Firszov 5 years ago
parent
commit
409cfb104d
  1. 4
      src/ImageSharp/Advanced/AdvancedImageExtensions.cs
  2. 8
      tests/ImageSharp.Tests/Advanced/AdvancedImageExtensionsTests.cs

4
src/ImageSharp/Advanced/AdvancedImageExtensions.cs

@ -143,7 +143,7 @@ namespace SixLabors.ImageSharp.Advanced
/// <param name="source">The source.</param>
/// <param name="rowIndex">The row.</param>
/// <returns>The <see cref="Span{TPixel}"/></returns>
public static Memory<TPixel> GetPixelRowMemory<TPixel>(this ImageFrame<TPixel> source, int rowIndex)
public static Memory<TPixel> DangerousGetPixelRowMemory<TPixel>(this ImageFrame<TPixel> source, int rowIndex)
where TPixel : unmanaged, IPixel<TPixel>
{
Guard.NotNull(source, nameof(source));
@ -161,7 +161,7 @@ namespace SixLabors.ImageSharp.Advanced
/// <param name="source">The source.</param>
/// <param name="rowIndex">The row.</param>
/// <returns>The <see cref="Span{TPixel}"/></returns>
public static Memory<TPixel> GetPixelRowMemory<TPixel>(this Image<TPixel> source, int rowIndex)
public static Memory<TPixel> DangerousGetPixelRowMemory<TPixel>(this Image<TPixel> source, int rowIndex)
where TPixel : unmanaged, IPixel<TPixel>
{
Guard.NotNull(source, nameof(source));

8
tests/ImageSharp.Tests/Advanced/AdvancedImageExtensionsTests.cs

@ -116,7 +116,7 @@ namespace SixLabors.ImageSharp.Tests.Advanced
for (int y = 0; y < image.Height; y++)
{
// Act:
Memory<TPixel> rowMemory = image.GetPixelRowMemory(y);
Memory<TPixel> rowMemory = image.DangerousGetPixelRowMemory(y);
Span<TPixel> span = rowMemory.Span;
// Assert:
@ -134,8 +134,8 @@ namespace SixLabors.ImageSharp.Tests.Advanced
{
using Image<TPixel> image = provider.GetImage();
Memory<TPixel> memory3 = image.GetPixelRowMemory(3);
Memory<TPixel> memory10 = image.GetPixelRowMemory(10);
Memory<TPixel> memory3 = image.DangerousGetPixelRowMemory(3);
Memory<TPixel> memory10 = image.DangerousGetPixelRowMemory(10);
image.Mutate(c => c.Resize(8, 8));
@ -154,7 +154,7 @@ namespace SixLabors.ImageSharp.Tests.Advanced
using Image<TPixel> image = provider.GetImage();
Memory<TPixel> memory = image.GetPixelRowMemory(image.Height - 1);
Memory<TPixel> memory = image.DangerousGetPixelRowMemory(image.Height - 1);
Span<TPixel> span = image.GetPixelRowSpan(image.Height - 1);
Assert.True(span == memory.Span);

Loading…
Cancel
Save