diff --git a/src/ImageSharp/Processing/Processors/Drawing/DrawImageProcessor{TPixelBg,TPixelFg}.cs b/src/ImageSharp/Processing/Processors/Drawing/DrawImageProcessor{TPixelBg,TPixelFg}.cs
index 7a26a03a1..2bca1ffc0 100644
--- a/src/ImageSharp/Processing/Processors/Drawing/DrawImageProcessor{TPixelBg,TPixelFg}.cs
+++ b/src/ImageSharp/Processing/Processors/Drawing/DrawImageProcessor{TPixelBg,TPixelFg}.cs
@@ -99,8 +99,8 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing
"Cannot draw image because the source image does not overlap the target image.");
}
- var operation = new RowIntervalOperation(source, targetImage, blender, configuration, minX, width, locationY, targetX, this.Opacity);
- ParallelRowIterator.IterateRowIntervals(
+ var operation = new RowOperation(source, targetImage, blender, configuration, minX, width, locationY, targetX, this.Opacity);
+ ParallelRowIterator.IterateRows(
configuration,
workingRect,
in operation);
@@ -109,7 +109,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing
///
/// A implementing the draw logic for .
///
- private readonly struct RowIntervalOperation : IRowIntervalOperation
+ private readonly struct RowOperation : IRowOperation
{
private readonly ImageFrame sourceFrame;
private readonly Image targetImage;
@@ -122,7 +122,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing
private readonly float opacity;
[MethodImpl(InliningOptions.ShortMethod)]
- public RowIntervalOperation(
+ public RowOperation(
ImageFrame sourceFrame,
Image targetImage,
PixelBlender blender,
@@ -146,14 +146,11 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing
///
[MethodImpl(InliningOptions.ShortMethod)]
- public void Invoke(in RowInterval rows)
+ public void Invoke(int y)
{
- for (int y = rows.Min; y < rows.Max; y++)
- {
- Span background = this.sourceFrame.GetPixelRowSpan(y).Slice(this.minX, this.width);
- Span foreground = this.targetImage.GetPixelRowSpan(y - this.locationY).Slice(this.targetX, this.width);
- this.blender.Blend(this.configuration, background, background, foreground, this.opacity);
- }
+ Span background = this.sourceFrame.GetPixelRowSpan(y).Slice(this.minX, this.width);
+ Span foreground = this.targetImage.GetPixelRowSpan(y - this.locationY).Slice(this.targetX, this.width);
+ this.blender.Blend(this.configuration, background, background, foreground, this.opacity);
}
}
}