|
|
|
@ -40,6 +40,29 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing |
|
|
|
public DrawImageProcessor(Image<TPixel> image, GraphicsOptions options) |
|
|
|
: this(image, Point.Empty, options) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes a new instance of the <see cref="DrawImageProcessor{TPixel}"/> class.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="image">The image to blend with the currently processing image.</param>
|
|
|
|
/// <param name="opacity">The opacity of the image to blend. Must be between 0 and 1.</param>
|
|
|
|
/// <param name="colorBlendingMode">The blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, float opacity, PixelColorBlendingMode colorBlendingMode) |
|
|
|
: this(image, Point.Empty, opacity, colorBlendingMode, GraphicsOptions.Default.AlphaCompositionMode) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes a new instance of the <see cref="DrawImageProcessor{TPixel}"/> class.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="image">The image to blend with the currently processing image.</param>
|
|
|
|
/// <param name="opacity">The opacity of the image to blend. Must be between 0 and 1.</param>
|
|
|
|
/// <param name="colorBlendingMode">The Color blending mode to use when drawing the image.</param>
|
|
|
|
/// <param name="alphaCompositionMode">The Alpha blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, float opacity, PixelColorBlendingMode colorBlendingMode, PixelAlphaCompositionMode alphaCompositionMode) |
|
|
|
: this(image, Point.Empty, opacity, colorBlendingMode, alphaCompositionMode) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -49,7 +72,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing |
|
|
|
/// <param name="location">The location to draw the blended image.</param>
|
|
|
|
/// <param name="opacity">The opacity of the image to blend. Must be between 0 and 1.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, Point location, float opacity) |
|
|
|
: this(image, location, opacity, GraphicsOptions.Default.ColorBlendingMode) |
|
|
|
: this(image, location, opacity, GraphicsOptions.Default.ColorBlendingMode, GraphicsOptions.Default.AlphaCompositionMode) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -65,46 +88,18 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing |
|
|
|
public DrawImageProcessor(Image<TPixel> image, Point location, GraphicsOptions options) |
|
|
|
: this(image, location, options.BlendPercentage, options.ColorBlendingMode, options.AlphaCompositionMode) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes a new instance of the <see cref="DrawImageProcessor{TPixel}"/> class.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="image">The image to blend with the currently processing image.</param>
|
|
|
|
/// <param name="opacity">The opacity of the image to blend. Must be between 0 and 1.</param>
|
|
|
|
/// <param name="blenderMode">The blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, float opacity, PixelColorBlendingMode blenderMode) |
|
|
|
: this(image, Point.Empty, opacity, blenderMode) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes a new instance of the <see cref="DrawImageProcessor{TPixel}"/> class.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="image">The image to blend with the currently processing image.</param>
|
|
|
|
/// <param name="opacity">The opacity of the image to blend. Must be between 0 and 1.</param>
|
|
|
|
/// <param name="blenderMode">The Color blending mode to use when drawing the image.</param>
|
|
|
|
/// <param name="alphaMode">The Alpha blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, float opacity, PixelColorBlendingMode blenderMode, PixelAlphaCompositionMode alphaMode) |
|
|
|
: this(image, Point.Empty, opacity, blenderMode, alphaMode) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes a new instance of the <see cref="DrawImageProcessor{TPixel}"/> class.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="image">The image to blend with the currently processing image.</param>
|
|
|
|
/// <param name="location">The location to draw the blended image.</param>
|
|
|
|
/// <param name="opacity">The opacity of the image to blend. Must be between 0 and 1.</param>
|
|
|
|
/// <param name="blenderMode">The blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, Point location, float opacity, PixelColorBlendingMode blenderMode) |
|
|
|
/// <param name="colorBlendingMode">The blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, Point location, float opacity, PixelColorBlendingMode colorBlendingMode) |
|
|
|
: this(image, location, opacity, colorBlendingMode, GraphicsOptions.Default.AlphaCompositionMode) |
|
|
|
{ |
|
|
|
Guard.MustBeBetweenOrEqualTo(opacity, 0, 1, nameof(opacity)); |
|
|
|
|
|
|
|
this.Image = image; |
|
|
|
this.Opacity = opacity; |
|
|
|
this.Blender = PixelOperations<TPixel>.Instance.GetPixelBlender(blenderMode, PixelAlphaCompositionMode.SrcOver); |
|
|
|
this.Location = location; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -113,15 +108,15 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing |
|
|
|
/// <param name="image">The image to blend with the currently processing image.</param>
|
|
|
|
/// <param name="location">The location to draw the blended image.</param>
|
|
|
|
/// <param name="opacity">The opacity of the image to blend. Must be between 0 and 1.</param>
|
|
|
|
/// <param name="blenderMode">The blending mode to use when drawing the image.</param>
|
|
|
|
/// <param name="alphaMode">The Alpha blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, Point location, float opacity, PixelColorBlendingMode blenderMode, PixelAlphaCompositionMode alphaMode) |
|
|
|
/// <param name="colorBlendingMode">The blending mode to use when drawing the image.</param>
|
|
|
|
/// <param name="alphaCompositionMode">The Alpha blending mode to use when drawing the image.</param>
|
|
|
|
public DrawImageProcessor(Image<TPixel> image, Point location, float opacity, PixelColorBlendingMode colorBlendingMode, PixelAlphaCompositionMode alphaCompositionMode) |
|
|
|
{ |
|
|
|
Guard.MustBeBetweenOrEqualTo(opacity, 0, 1, nameof(opacity)); |
|
|
|
|
|
|
|
this.Image = image; |
|
|
|
this.Opacity = opacity; |
|
|
|
this.Blender = PixelOperations<TPixel>.Instance.GetPixelBlender(blenderMode, alphaMode); |
|
|
|
this.Blender = PixelOperations<TPixel>.Instance.GetPixelBlender(colorBlendingMode, alphaCompositionMode); |
|
|
|
this.Location = location; |
|
|
|
} |
|
|
|
|
|
|
|
|