diff --git a/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs
index c0c3be869..55eebba4f 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs
@@ -30,6 +30,6 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
/// The pixel format.
/// The transforming image processor.
void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel;
+ where TPixel : unmanaged, IPixel;
}
}
diff --git a/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs
index ab750f7fb..02df8282f 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs
@@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
/// The pixel format.
public interface IResamplingTransformImageProcessor : IImageProcessor
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
{
///
/// Applies a resampling transform with the given sampler.
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
index 72bfa4c0b..ac18c67cd 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
@@ -16,7 +16,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
/// The pixel format.
internal class AffineTransformProcessor : TransformProcessor, IResamplingTransformImageProcessor
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
{
private readonly Size destinationSize;
private readonly Matrix3x2 transformMatrix;
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs
index 4fb1e27e0..04aaa1102 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs
@@ -39,7 +39,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
Vector2 radialExtents,
Vector4 maxSourceExtents)
where TResampler : struct, IResampler
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
{
// Clamp sampling pixel radial extents to the source image edges
Vector2 minXY = transformedPoint - radialExtents;
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs
index 085c81aad..b0a79766f 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs
@@ -43,7 +43,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
[MethodImpl(InliningOptions.ShortMethod)]
public void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
=> processor.ApplyTransform(in this);
}
}
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs
index af2abb5f4..590d292e0 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs
@@ -30,7 +30,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
[MethodImpl(InliningOptions.ShortMethod)]
public void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
=> processor.ApplyTransform(in this);
}
}
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
index b39932674..8cdfcd882 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs
@@ -106,7 +106,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
[MethodImpl(InliningOptions.ShortMethod)]
public void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
=> processor.ApplyTransform(in this);
}
}
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs
index 202edcd36..7eb6d111e 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs
@@ -62,7 +62,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
[MethodImpl(InliningOptions.ShortMethod)]
public void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
=> processor.ApplyTransform(in this);
}
}
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs
index 0bce3d129..9a78af82b 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs
@@ -22,7 +22,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
[MethodImpl(InliningOptions.ShortMethod)]
public void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
=> processor.ApplyTransform(in this);
}
}
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs
index 42459d4a3..345e56790 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs
@@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
[MethodImpl(InliningOptions.ShortMethod)]
public void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
=> processor.ApplyTransform(in this);
}
}
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs
index 6142dbe06..82f58a7c9 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs
@@ -35,7 +35,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
///
[MethodImpl(InliningOptions.ShortMethod)]
public void ApplyTransform(IResamplingTransformImageProcessor processor)
- where TPixel : struct, IPixel
+ where TPixel : unmanaged, IPixel
=> processor.ApplyTransform(in this);
}
}