diff --git a/src/ImageProcessorCore/Common/Helpers/ImageMaths.cs b/src/ImageProcessorCore/Common/Helpers/ImageMaths.cs
index b61fa30fab..19da0af187 100644
--- a/src/ImageProcessorCore/Common/Helpers/ImageMaths.cs
+++ b/src/ImageProcessorCore/Common/Helpers/ImageMaths.cs
@@ -165,7 +165,7 @@ namespace ImageProcessorCore
/// The .
///
public static Rectangle GetFilteredBoundingRectangle(ImageBase bitmap, float componentValue, RgbaComponent channel = RgbaComponent.B)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
const float Epsilon = .00001f;
diff --git a/src/ImageProcessorCore/Filters/Alpha.cs b/src/ImageProcessorCore/Filters/Alpha.cs
index 10540ce944..4cbb6342f7 100644
--- a/src/ImageProcessorCore/Filters/Alpha.cs
+++ b/src/ImageProcessorCore/Filters/Alpha.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The new opacity of the image. Must be between 0 and 100.
/// The .
public static Image Alpha(this Image source, int percent)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Alpha(source, percent, source.Bounds);
@@ -39,7 +39,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Alpha(this Image source, int percent, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new AlphaProcessor(percent));
diff --git a/src/ImageProcessorCore/Filters/BackgroundColor.cs b/src/ImageProcessorCore/Filters/BackgroundColor.cs
index 87dab88d52..5a1b39d5f0 100644
--- a/src/ImageProcessorCore/Filters/BackgroundColor.cs
+++ b/src/ImageProcessorCore/Filters/BackgroundColor.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The color to set as the background.
/// The .
public static Image BackgroundColor(this Image source, TColor color)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(source.Bounds, new BackgroundColorProcessor(color));
diff --git a/src/ImageProcessorCore/Filters/BinaryThreshold.cs b/src/ImageProcessorCore/Filters/BinaryThreshold.cs
index cbb06acc08..40538fb2a5 100644
--- a/src/ImageProcessorCore/Filters/BinaryThreshold.cs
+++ b/src/ImageProcessorCore/Filters/BinaryThreshold.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The threshold to apply binerization of the image. Must be between 0 and 1.
/// The .
public static Image BinaryThreshold(this Image source, float threshold)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return BinaryThreshold(source, threshold, source.Bounds);
@@ -39,7 +39,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image BinaryThreshold(this Image source, float threshold, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new BinaryThresholdProcessor(threshold));
diff --git a/src/ImageProcessorCore/Filters/BlackWhite.cs b/src/ImageProcessorCore/Filters/BlackWhite.cs
index 4885049e71..6cd0e86cde 100644
--- a/src/ImageProcessorCore/Filters/BlackWhite.cs
+++ b/src/ImageProcessorCore/Filters/BlackWhite.cs
@@ -20,7 +20,7 @@ namespace ImageProcessorCore
/// The image this method extends.
/// The .
public static Image BlackWhite(this Image source)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return BlackWhite(source, source.Bounds);
@@ -37,7 +37,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image BlackWhite(this Image source, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new BlackWhiteProcessor());
diff --git a/src/ImageProcessorCore/Filters/Blend.cs b/src/ImageProcessorCore/Filters/Blend.cs
index dbf841e68a..6161bf1640 100644
--- a/src/ImageProcessorCore/Filters/Blend.cs
+++ b/src/ImageProcessorCore/Filters/Blend.cs
@@ -22,7 +22,7 @@ namespace ImageProcessorCore
/// The opacity of the image image to blend. Must be between 0 and 100.
/// The .
public static Image Blend(this Image source, ImageBase image, int percent = 50)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Blend(source, image, percent, source.Bounds);
@@ -41,7 +41,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Blend(this Image source, ImageBase image, int percent, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new BlendProcessor(image, percent));
diff --git a/src/ImageProcessorCore/Filters/Brightness.cs b/src/ImageProcessorCore/Filters/Brightness.cs
index 165db691eb..47b59067e6 100644
--- a/src/ImageProcessorCore/Filters/Brightness.cs
+++ b/src/ImageProcessorCore/Filters/Brightness.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The new brightness of the image. Must be between -100 and 100.
/// The .
public static Image Brightness(this Image source, int amount)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Brightness(source, amount, source.Bounds);
@@ -39,7 +39,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Brightness(this Image source, int amount, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new BrightnessProcessor(amount));
diff --git a/src/ImageProcessorCore/Filters/ColorBlindness.cs b/src/ImageProcessorCore/Filters/ColorBlindness.cs
index 06330f8905..cb7759b465 100644
--- a/src/ImageProcessorCore/Filters/ColorBlindness.cs
+++ b/src/ImageProcessorCore/Filters/ColorBlindness.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The type of color blindness simulator to apply.
/// The .
public static Image ColorBlindness(this Image source, ColorBlindness colorBlindness)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return ColorBlindness(source, colorBlindness, source.Bounds);
@@ -39,7 +39,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image ColorBlindness(this Image source, ColorBlindness colorBlindness, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
IImageFilter processor;
diff --git a/src/ImageProcessorCore/Filters/Contrast.cs b/src/ImageProcessorCore/Filters/Contrast.cs
index d96c01aab5..1f4d047465 100644
--- a/src/ImageProcessorCore/Filters/Contrast.cs
+++ b/src/ImageProcessorCore/Filters/Contrast.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The new contrast of the image. Must be between -100 and 100.
/// The .
public static Image Contrast(this Image source, int amount)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Contrast(source, amount, source.Bounds);
@@ -39,7 +39,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Contrast(this Image source, int amount, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new ContrastProcessor(amount));
diff --git a/src/ImageProcessorCore/Filters/Glow.cs b/src/ImageProcessorCore/Filters/Glow.cs
index 205966cc2c..1e973bbf99 100644
--- a/src/ImageProcessorCore/Filters/Glow.cs
+++ b/src/ImageProcessorCore/Filters/Glow.cs
@@ -20,7 +20,7 @@ namespace ImageProcessorCore
/// The image this method extends.
/// The .
public static Image Glow(this Image source)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Glow(source, default(TColor), source.Bounds.Width * .5F, source.Bounds);
@@ -35,7 +35,7 @@ namespace ImageProcessorCore
/// The color to set as the glow.
/// The .
public static Image Glow(this Image source, TColor color)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Glow(source, color, source.Bounds.Width * .5F, source.Bounds);
@@ -50,7 +50,7 @@ namespace ImageProcessorCore
/// The the radius.
/// The .
public static Image Glow(this Image source, float radius)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Glow(source, default(TColor), radius, source.Bounds);
@@ -67,7 +67,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Glow(this Image source, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Glow(source, default(TColor), 0, rectangle);
@@ -86,7 +86,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Glow(this Image source, TColor color, float radius, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
GlowProcessor processor = new GlowProcessor { Radius = radius, };
diff --git a/src/ImageProcessorCore/Filters/Grayscale.cs b/src/ImageProcessorCore/Filters/Grayscale.cs
index c399171f80..f496c3da87 100644
--- a/src/ImageProcessorCore/Filters/Grayscale.cs
+++ b/src/ImageProcessorCore/Filters/Grayscale.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The formula to apply to perform the operation.
/// The .
public static Image Grayscale(this Image source, GrayscaleMode mode = GrayscaleMode.Bt709)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Grayscale(source, source.Bounds, mode);
@@ -39,7 +39,7 @@ namespace ImageProcessorCore
/// The formula to apply to perform the operation.
/// The .
public static Image Grayscale(this Image source, Rectangle rectangle, GrayscaleMode mode = GrayscaleMode.Bt709)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
IImageFilter processor = mode == GrayscaleMode.Bt709
diff --git a/src/ImageProcessorCore/Filters/Hue.cs b/src/ImageProcessorCore/Filters/Hue.cs
index fa2d988182..18e3a8a1a8 100644
--- a/src/ImageProcessorCore/Filters/Hue.cs
+++ b/src/ImageProcessorCore/Filters/Hue.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore
/// The angle in degrees to adjust the image.
/// The .
public static Image Hue(this Image source, float degrees)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Hue(source, degrees, source.Bounds);
@@ -39,7 +39,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Hue(this Image source, float degrees, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new HueProcessor(degrees));
diff --git a/src/ImageProcessorCore/Filters/Invert.cs b/src/ImageProcessorCore/Filters/Invert.cs
index fd1041d0d4..b2132da6fe 100644
--- a/src/ImageProcessorCore/Filters/Invert.cs
+++ b/src/ImageProcessorCore/Filters/Invert.cs
@@ -20,7 +20,7 @@ namespace ImageProcessorCore
/// The image this method extends.
/// The .
public static Image Invert(this Image source)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Invert(source, source.Bounds);
@@ -37,7 +37,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Invert(this Image source, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new InvertProcessor());
diff --git a/src/ImageProcessorCore/Filters/Kodachrome.cs b/src/ImageProcessorCore/Filters/Kodachrome.cs
index 433c7e1702..32eb6dd9df 100644
--- a/src/ImageProcessorCore/Filters/Kodachrome.cs
+++ b/src/ImageProcessorCore/Filters/Kodachrome.cs
@@ -20,7 +20,7 @@ namespace ImageProcessorCore
/// The image this method extends.
/// The .
public static Image Kodachrome(this Image source)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Kodachrome(source, source.Bounds);
@@ -37,7 +37,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Kodachrome(this Image source, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new KodachromeProcessor());
diff --git a/src/ImageProcessorCore/Filters/Lomograph.cs b/src/ImageProcessorCore/Filters/Lomograph.cs
index 99305bfa07..dc5443bd24 100644
--- a/src/ImageProcessorCore/Filters/Lomograph.cs
+++ b/src/ImageProcessorCore/Filters/Lomograph.cs
@@ -20,7 +20,7 @@ namespace ImageProcessorCore
/// The image this method extends.
/// The .
public static Image Lomograph(this Image source)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Lomograph(source, source.Bounds);
@@ -37,7 +37,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Lomograph(this Image source, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new LomographProcessor());
diff --git a/src/ImageProcessorCore/Filters/Polaroid.cs b/src/ImageProcessorCore/Filters/Polaroid.cs
index 7182c67526..0801f85b7e 100644
--- a/src/ImageProcessorCore/Filters/Polaroid.cs
+++ b/src/ImageProcessorCore/Filters/Polaroid.cs
@@ -20,7 +20,7 @@ namespace ImageProcessorCore
/// The image this method extends.
/// The .
public static Image Polaroid(this Image source)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return Polaroid(source, source.Bounds);
@@ -37,7 +37,7 @@ namespace ImageProcessorCore
///
/// The .
public static Image Polaroid(this Image source, Rectangle rectangle)
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
return source.Process(rectangle, new PolaroidProcessor());
diff --git a/src/ImageProcessorCore/Filters/Processors/AlphaProcessor.cs b/src/ImageProcessorCore/Filters/Processors/AlphaProcessor.cs
index e88ee83f34..12b731ecda 100644
--- a/src/ImageProcessorCore/Filters/Processors/AlphaProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/AlphaProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class AlphaProcessor : ImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/BackgroundColorProcessor.cs b/src/ImageProcessorCore/Filters/Processors/BackgroundColorProcessor.cs
index 52888692c3..5039d6a939 100644
--- a/src/ImageProcessorCore/Filters/Processors/BackgroundColorProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/BackgroundColorProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class BackgroundColorProcessor : ImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/Binarization/BinaryThresholdProcessor.cs b/src/ImageProcessorCore/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
index ad6fed7bcf..7111963ea2 100644
--- a/src/ImageProcessorCore/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class BinaryThresholdProcessor : ImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/BlendProcessor.cs b/src/ImageProcessorCore/Filters/Processors/BlendProcessor.cs
index 2663730591..b29ef4e420 100644
--- a/src/ImageProcessorCore/Filters/Processors/BlendProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/BlendProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class BlendProcessor : ImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/BrightnessProcessor.cs b/src/ImageProcessorCore/Filters/Processors/BrightnessProcessor.cs
index c41d4c7c3a..04d796fcaf 100644
--- a/src/ImageProcessorCore/Filters/Processors/BrightnessProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/BrightnessProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class BrightnessProcessor : ImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/BlackWhiteProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/BlackWhiteProcessor.cs
index 47d99161f2..2c7dc644a4 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/BlackWhiteProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/BlackWhiteProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class BlackWhiteProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
index 9d62483dd6..310be48945 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class AchromatomalyProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
index 0993705bcc..3317d79bbd 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class AchromatopsiaProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
index 03d678c2cd..b38f1338ec 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class DeuteranomalyProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
index 04b79fdb8f..593fb20928 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class DeuteranopiaProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
index 883f53dfe8..c5be10d3b7 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class ProtanomalyProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
index 7db6d55bd8..6cb829bd5d 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class ProtanopiaProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
index 1d5cbe27fc..85eed5f80f 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class TritanomalyProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
index 7d63cf4f47..ada7ecde22 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class TritanopiaProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
index 0caefaab92..7bbc5c0a87 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public abstract class ColorMatrixFilter : ImageFilter, IColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt601Processor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt601Processor.cs
index c6bd5888dc..ff48a2e022 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt601Processor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt601Processor.cs
@@ -14,7 +14,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class GrayscaleBt601Processor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt709Processor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt709Processor.cs
index cfe11a7a49..6da2baee39 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt709Processor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/GrayscaleBt709Processor.cs
@@ -12,7 +12,7 @@ namespace ImageProcessorCore.Processors
/// ITU-R Recommendation BT.709 .
///
public class GrayscaleBt709Processor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs
index ccbeaabb02..afe6dbca9b 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class HueProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
index 3cd88ebf4b..4310738b04 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
@@ -14,7 +14,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public interface IColorMatrixFilter : IImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/KodachromeProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/KodachromeProcessor.cs
index 0ad46254ce..5655cfe255 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/KodachromeProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/KodachromeProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class KodachromeProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/LomographProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/LomographProcessor.cs
index a03ffc912f..b4f7967d80 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/LomographProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/LomographProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class LomographProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/PolaroidProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/PolaroidProcessor.cs
index 6852ec444d..6a464da841 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/PolaroidProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/PolaroidProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class PolaroidProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs
index d54d7b8344..37612357ab 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class SaturationProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SepiaProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SepiaProcessor.cs
index f9a3b2d8c7..040d488845 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SepiaProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SepiaProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class SepiaProcessor : ColorMatrixFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/ContrastProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ContrastProcessor.cs
index 24f56fb347..3e37d27224 100644
--- a/src/ImageProcessorCore/Filters/Processors/ContrastProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ContrastProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. long, float.
public class ContrastProcessor : ImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/GlowProcessor.cs b/src/ImageProcessorCore/Filters/Processors/GlowProcessor.cs
index dc409748be..01eb9cd8ec 100644
--- a/src/ImageProcessorCore/Filters/Processors/GlowProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/GlowProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageProcessorCore.Processors
/// The pixel format.
/// The packed format. uint, long, float.
public class GlowProcessor : ImageFilter
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///
diff --git a/src/ImageProcessorCore/Filters/Processors/IImageFilter.cs b/src/ImageProcessorCore/Filters/Processors/IImageFilter.cs
index 39ea5ecbfe..69037f6c1f 100644
--- a/src/ImageProcessorCore/Filters/Processors/IImageFilter.cs
+++ b/src/ImageProcessorCore/Filters/Processors/IImageFilter.cs
@@ -6,7 +6,7 @@
/// The pixel format.
/// The packed format. uint, long, float.
public interface IImageFilter : IImageProcessor
- where TColor : struct, IPackedVector
+ where TColor : IPackedVector
where TPacked : struct
{
///