Browse Source

Merge branch 'release/3.1.x' into issue/2603

pull/2610/head
James Jackson-South 2 years ago
committed by GitHub
parent
commit
a4ce7ca019
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/ImageSharp/Processing/Processors/Drawing/DrawImageProcessor{TPixelBg,TPixelFg}.cs
  2. 21
      tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
  3. 3
      tests/Images/External/ReferenceOutput/Drawing/DrawImageTests/Issue2608_NegOffset.png

2
src/ImageSharp/Processing/Processors/Drawing/DrawImageProcessor{TPixelBg,TPixelFg}.cs

@ -87,12 +87,14 @@ internal class DrawImageProcessor<TPixelBg, TPixelFg> : ImageProcessor<TPixelBg>
if (this.BackgroundLocation.X < 0)
{
foregroundRectangle.Width += this.BackgroundLocation.X;
foregroundRectangle.X -= this.BackgroundLocation.X;
left = 0;
}
if (this.BackgroundLocation.Y < 0)
{
foregroundRectangle.Height += this.BackgroundLocation.Y;
foregroundRectangle.Y -= this.BackgroundLocation.Y;
top = 0;
}

21
tests/ImageSharp.Tests/Drawing/DrawImageTests.cs

@ -252,6 +252,27 @@ public class DrawImageTests
appendSourceFileOrDescription: false);
}
[Theory]
[WithFile(TestImages.Png.Issue2447, PixelTypes.Rgba32)]
public void Issue2608_NegOffset<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : unmanaged, IPixel<TPixel>
{
using Image<TPixel> foreground = provider.GetImage();
using Image<Rgba32> background = new(100, 100, new Rgba32(0, 255, 255));
background.Mutate(c => c.DrawImage(foreground, new Point(-10, -10), new Rectangle(32, 32, 32, 32), 1F));
background.DebugSave(
provider,
appendPixelTypeToFileName: false,
appendSourceFileOrDescription: false);
background.CompareToReferenceOutput(
provider,
appendPixelTypeToFileName: false,
appendSourceFileOrDescription: false);
}
[Theory]
[WithFile(TestImages.Png.Issue2447, PixelTypes.Rgba32)]
public void Issue2603<TPixel>(TestImageProvider<TPixel> provider)

3
tests/Images/External/ReferenceOutput/Drawing/DrawImageTests/Issue2608_NegOffset.png

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edfd0e17aa304f5b16ad42a761c044c3d617aaee9b9e1e74674567bbcd74d532
size 590
Loading…
Cancel
Save