From 002fc645667be5906214c99c8a4e6622c9de8fca Mon Sep 17 00:00:00 2001 From: Vicente Penades Date: Mon, 10 Sep 2018 13:05:05 +0200 Subject: [PATCH] reverted some changes from using DebugGuard replaced *Vector with *ScaledVector conversion methods --- .../Processors/Drawing/FillRegionProcessor.cs | 29 +-- .../Processors/Text/DrawTextProcessor.cs | 21 +- .../Processing/SolidBrush{TPixel}.cs | 15 +- .../DefaultPixelBlenders.Generated.cs | 216 +++++++++--------- .../DefaultPixelBlenders.Generated.tt | 2 +- .../PixelFormats/PixelBlender{TPixel}.cs | 12 +- 6 files changed, 128 insertions(+), 167 deletions(-) diff --git a/src/ImageSharp.Drawing/Processing/Processors/Drawing/FillRegionProcessor.cs b/src/ImageSharp.Drawing/Processing/Processors/Drawing/FillRegionProcessor.cs index d44251d07..514249a2d 100644 --- a/src/ImageSharp.Drawing/Processing/Processors/Drawing/FillRegionProcessor.cs +++ b/src/ImageSharp.Drawing/Processing/Processors/Drawing/FillRegionProcessor.cs @@ -139,14 +139,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing { for (float x = scanStart; x < startX + 1; x += subpixelFraction) { - scanline[startX] += subpixelFractionPoint; - scanlineDirty = true; - } - - if (scanline[startX] > 1) - { - scanline[startX] = 1; - } + scanline[startX] += subpixelFractionPoint; + scanlineDirty = true; + } } if (endX >= 0 && endX < scanline.Length) @@ -154,13 +149,8 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing for (float x = endX; x < scanEnd; x += subpixelFraction) { scanline[endX] += subpixelFractionPoint; - scanlineDirty = true; - } - - if (scanline[endX] > 1) - { - scanline[endX] = 1; - } + scanlineDirty = true; + } } int nextX = startX + 1; @@ -168,13 +158,8 @@ namespace SixLabors.ImageSharp.Processing.Processors.Drawing nextX = Math.Max(nextX, 0); for (int x = nextX; x < endX; x++) { - scanline[x] += subpixelFraction; - scanlineDirty = true; - - if (scanline[x] > 1) - { - scanline[x] = 1; - } + scanline[x] += subpixelFraction; + scanlineDirty = true; } } } diff --git a/src/ImageSharp.Drawing/Processing/Processors/Text/DrawTextProcessor.cs b/src/ImageSharp.Drawing/Processing/Processors/Text/DrawTextProcessor.cs index d7a46c1be..1095de325 100644 --- a/src/ImageSharp.Drawing/Processing/Processors/Text/DrawTextProcessor.cs +++ b/src/ImageSharp.Drawing/Processing/Processors/Text/DrawTextProcessor.cs @@ -386,12 +386,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Text { scanline[startX] += subpixelFractionPoint; scanlineDirty = true; - } - - if (scanline[startX] > 1) - { - scanline[startX] = 1; - } + } } if (endX >= 0 && endX < scanline.Length) @@ -400,12 +395,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Text { scanline[endX] += subpixelFractionPoint; scanlineDirty = true; - } - - if (scanline[endX] > 1) - { - scanline[endX] = 1; - } + } } int nextX = startX + 1; @@ -414,12 +404,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Text for (int x = nextX; x < endX; x++) { scanline[x] += subpixelFraction; - scanlineDirty = true; - - if (scanline[x] > 1) - { - scanline[x] = 1; - } + scanlineDirty = true; } } } diff --git a/src/ImageSharp.Drawing/Processing/SolidBrush{TPixel}.cs b/src/ImageSharp.Drawing/Processing/SolidBrush{TPixel}.cs index 7e724572a..6b69c33f0 100644 --- a/src/ImageSharp.Drawing/Processing/SolidBrush{TPixel}.cs +++ b/src/ImageSharp.Drawing/Processing/SolidBrush{TPixel}.cs @@ -91,18 +91,9 @@ namespace SixLabors.ImageSharp.Processing { Span destinationRow = this.Target.GetPixelRowSpan(y).Slice(x, scanline.Length); - MemoryAllocator memoryAllocator = this.Target.MemoryAllocator; - -#if DEBUG - for (int i = 0; i < scanline.Length; i++) - { - Guard.MustBeBetweenOrEqualTo(scanline[i], 0, 1, nameof(scanline)); - } -#endif - - float opacity = this.Options.BlendPercentage.Clamp(0, 1); + MemoryAllocator memoryAllocator = this.Target.MemoryAllocator; - if (opacity == 1f) + if (this.Options.BlendPercentage == 1f) { this.Blender.Blend(memoryAllocator, destinationRow, destinationRow, this.Colors.GetSpan(), scanline); } @@ -114,7 +105,7 @@ namespace SixLabors.ImageSharp.Processing for (int i = 0; i < scanline.Length; i++) { - amountSpan[i] = scanline[i] * opacity; + amountSpan[i] = scanline[i] * this.Options.BlendPercentage; } this.Blender.Blend(memoryAllocator, destinationRow, destinationRow, this.Colors.GetSpan(), amountSpan); diff --git a/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.cs b/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.cs index aa261c1f0..cd3b5d427 100644 --- a/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.cs +++ b/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.cs @@ -45,7 +45,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalSrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalSrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -80,7 +80,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplySrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplySrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -115,7 +115,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddSrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddSrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -150,7 +150,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractSrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractSrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -185,7 +185,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenSrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenSrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -220,7 +220,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenSrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenSrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -255,7 +255,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenSrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenSrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -290,7 +290,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlaySrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlaySrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -325,7 +325,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightSrc(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightSrc(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -360,7 +360,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalSrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalSrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -395,7 +395,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplySrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplySrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -430,7 +430,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddSrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddSrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -465,7 +465,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractSrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractSrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -500,7 +500,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenSrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenSrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -535,7 +535,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenSrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenSrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -570,7 +570,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenSrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenSrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -605,7 +605,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlaySrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlaySrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -640,7 +640,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightSrcAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightSrcAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -675,7 +675,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalSrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalSrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -710,7 +710,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplySrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplySrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -745,7 +745,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddSrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddSrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -780,7 +780,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractSrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractSrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -815,7 +815,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenSrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenSrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -850,7 +850,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenSrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenSrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -885,7 +885,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenSrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenSrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -920,7 +920,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlaySrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlaySrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -955,7 +955,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightSrcOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightSrcOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -990,7 +990,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalSrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalSrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1025,7 +1025,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplySrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplySrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1060,7 +1060,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddSrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddSrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1095,7 +1095,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractSrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractSrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1130,7 +1130,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenSrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenSrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1165,7 +1165,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenSrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenSrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1200,7 +1200,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenSrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenSrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1235,7 +1235,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlaySrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlaySrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1270,7 +1270,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightSrcIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightSrcIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1305,7 +1305,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalSrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalSrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1340,7 +1340,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplySrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplySrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1375,7 +1375,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddSrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddSrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1410,7 +1410,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractSrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractSrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1445,7 +1445,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenSrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenSrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1480,7 +1480,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenSrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenSrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1515,7 +1515,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenSrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenSrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1550,7 +1550,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlaySrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlaySrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1585,7 +1585,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightSrcOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightSrcOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1620,7 +1620,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1655,7 +1655,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplyDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplyDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1690,7 +1690,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1725,7 +1725,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1760,7 +1760,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1795,7 +1795,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1830,7 +1830,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1865,7 +1865,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlayDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlayDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1900,7 +1900,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightDest(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightDest(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1935,7 +1935,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -1970,7 +1970,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplyDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplyDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2005,7 +2005,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2040,7 +2040,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2075,7 +2075,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2110,7 +2110,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2145,7 +2145,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2180,7 +2180,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlayDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlayDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2215,7 +2215,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightDestAtop(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightDestAtop(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2250,7 +2250,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2285,7 +2285,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplyDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplyDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2320,7 +2320,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2355,7 +2355,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2390,7 +2390,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2425,7 +2425,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2460,7 +2460,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2495,7 +2495,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlayDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlayDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2530,7 +2530,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightDestOver(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightDestOver(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2565,7 +2565,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2600,7 +2600,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplyDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplyDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2635,7 +2635,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2670,7 +2670,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2705,7 +2705,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2740,7 +2740,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2775,7 +2775,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2810,7 +2810,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlayDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlayDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2845,7 +2845,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightDestIn(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightDestIn(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2880,7 +2880,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2915,7 +2915,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplyDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplyDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2950,7 +2950,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -2985,7 +2985,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3020,7 +3020,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3055,7 +3055,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3090,7 +3090,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3125,7 +3125,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlayDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlayDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3160,7 +3160,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightDestOut(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightDestOut(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3195,7 +3195,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3230,7 +3230,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplyClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplyClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3265,7 +3265,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3300,7 +3300,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3335,7 +3335,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3370,7 +3370,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3405,7 +3405,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3440,7 +3440,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlayClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlayClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3475,7 +3475,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightClear(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightClear(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3510,7 +3510,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.NormalXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.NormalXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3545,7 +3545,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.MultiplyXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.MultiplyXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3580,7 +3580,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.AddXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.AddXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3615,7 +3615,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.SubtractXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.SubtractXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3650,7 +3650,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.ScreenXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.ScreenXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3685,7 +3685,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.DarkenXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.DarkenXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3720,7 +3720,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.LightenXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.LightenXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3755,7 +3755,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.OverlayXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.OverlayXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } @@ -3790,7 +3790,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.HardLightXor(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.HardLightXor(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } diff --git a/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.tt b/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.tt index 2152862dc..3a951cbc1 100644 --- a/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.tt +++ b/src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.tt @@ -81,7 +81,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders public override TPixel Blend(TPixel background, TPixel source, float amount) { TPixel dest = default; - dest.PackFromVector4(PorterDuffFunctions.<#=blender_composer#>(background.ToVector4(),source.ToVector4(),amount.Clamp(0,1))); + dest.PackFromScaledVector4(PorterDuffFunctions.<#=blender_composer#>(background.ToScaledVector4(),source.ToScaledVector4(),amount.Clamp(0,1))); return dest; } diff --git a/src/ImageSharp/PixelFormats/PixelBlender{TPixel}.cs b/src/ImageSharp/PixelFormats/PixelBlender{TPixel}.cs index 8039922f2..fa17c7ca6 100644 --- a/src/ImageSharp/PixelFormats/PixelBlender{TPixel}.cs +++ b/src/ImageSharp/PixelFormats/PixelBlender{TPixel}.cs @@ -93,12 +93,12 @@ namespace SixLabors.ImageSharp.PixelFormats Span backgroundSpan = buffer.Slice(destination.Length, destination.Length); Span sourceSpan = buffer.Slice(destination.Length * 2, destination.Length); - PixelOperations.Instance.ToVector4(background, backgroundSpan, destination.Length); - PixelOperations.Instance.ToVector4(source, sourceSpan, destination.Length); + PixelOperations.Instance.ToScaledVector4(background, backgroundSpan, destination.Length); + PixelOperations.Instance.ToScaledVector4(source, sourceSpan, destination.Length); this.BlendFunction(destinationSpan, backgroundSpan, sourceSpan, amount); - PixelOperations.Instance.PackFromVector4(destinationSpan, destination, destination.Length); + PixelOperations.Instance.PackFromScaledVector4(destinationSpan, destination, destination.Length); } } @@ -127,12 +127,12 @@ namespace SixLabors.ImageSharp.PixelFormats Span backgroundSpan = buffer.Slice(destination.Length, destination.Length); Span sourceSpan = buffer.Slice(destination.Length * 2, destination.Length); - PixelOperations.Instance.ToVector4(background, backgroundSpan, destination.Length); - PixelOperations.Instance.ToVector4(source, sourceSpan, destination.Length); + PixelOperations.Instance.ToScaledVector4(background, backgroundSpan, destination.Length); + PixelOperations.Instance.ToScaledVector4(source, sourceSpan, destination.Length); this.BlendFunction(destinationSpan, backgroundSpan, sourceSpan, amount.Clamp(0, 1)); - PixelOperations.Instance.PackFromVector4(destinationSpan, destination, destination.Length); + PixelOperations.Instance.PackFromScaledVector4(destinationSpan, destination, destination.Length); } } }