diff --git a/ImageSharp.sln.DotSettings b/ImageSharp.sln.DotSettings
new file mode 100644
index 0000000000..3ee9cd4145
--- /dev/null
+++ b/ImageSharp.sln.DotSettings
@@ -0,0 +1,2 @@
+
+ HINT
\ No newline at end of file
diff --git a/src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs b/src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs
index 8d823c1e95..1016f829be 100644
--- a/src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs
+++ b/src/ImageSharp/ColorProfiles/Icc/Calculators/GrayTrcCalculator.cs
@@ -12,7 +12,7 @@ internal class GrayTrcCalculator : IVector4Calculator
private readonly TrcCalculator calculator;
public GrayTrcCalculator(IccTagDataEntry grayTrc, bool toPcs)
- => this.calculator = new TrcCalculator(new IccTagDataEntry[] { grayTrc }, !toPcs);
+ => this.calculator = new TrcCalculator([grayTrc], !toPcs);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public Vector4 Calculate(Vector4 value) => this.calculator.Calculate(value);
diff --git a/src/ImageSharp/Common/Helpers/TestHelpers.cs b/src/ImageSharp/Common/Helpers/TestHelpers.cs
deleted file mode 100644
index d358b9f016..0000000000
--- a/src/ImageSharp/Common/Helpers/TestHelpers.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) Six Labors.
-// Licensed under the Six Labors Split License.
-
-namespace SixLabors.ImageSharp.Common.Helpers;
-
-///
-/// Internal utilities intended to be only used in tests.
-///
-internal static class TestHelpers
-{
- ///
- /// This constant is useful to verify the target framework ImageSharp has been built against.
- /// Only intended to be used in tests!
- ///
- internal const string ImageSharpBuiltAgainst =
-#if NETCOREAPP3_1
- "netcoreapp3.1";
-#elif NETCOREAPP2_1
- "netcoreapp2.1";
-#elif NETSTANDARD2_1
- "netstandard2.1";
-#elif NETSTANDARD2_0
- "netstandard2.0";
-#elif NETSTANDARD1_3
- "netstandard1.3";
-#else
- "net472";
-#endif
-}
diff --git a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
index 98b6dd30a6..d86d5cad12 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.FrameConfig.cs
@@ -21,175 +21,159 @@ private static JpegFrameConfig[] CreateFrameConfigs()
JpegQuantizationTableConfig defaultLuminanceQuantTable = new(0, Quantization.LuminanceTable);
JpegQuantizationTableConfig defaultChrominanceQuantTable = new(1, Quantization.ChrominanceTable);
- JpegHuffmanTableConfig[] yCbCrHuffmanConfigs = new JpegHuffmanTableConfig[]
- {
+ JpegHuffmanTableConfig[] yCbCrHuffmanConfigs =
+ [
defaultLuminanceHuffmanDC,
defaultLuminanceHuffmanAC,
defaultChrominanceHuffmanDC,
- defaultChrominanceHuffmanAC,
- };
+ defaultChrominanceHuffmanAC
+ ];
- JpegQuantizationTableConfig[] yCbCrQuantTableConfigs = new JpegQuantizationTableConfig[]
- {
+ JpegQuantizationTableConfig[] yCbCrQuantTableConfigs =
+ [
defaultLuminanceQuantTable,
- defaultChrominanceQuantTable,
- };
+ defaultChrominanceQuantTable
+ ];
+
+ return
+ [
- return new JpegFrameConfig[]
- {
// YCbCr 4:4:4
- new(
+ new JpegFrameConfig(
JpegColorSpace.YCbCr,
JpegColorType.YCbCrRatio444,
- new JpegComponentConfig[]
- {
- new(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- },
+ [
+ new JpegComponentConfig(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+ new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1)
+ ],
yCbCrHuffmanConfigs,
yCbCrQuantTableConfigs),
// YCbCr 4:2:2
- new(
+ new JpegFrameConfig(
JpegColorSpace.YCbCr,
JpegColorType.YCbCrRatio422,
- new JpegComponentConfig[]
- {
- new(id: 1, hsf: 2, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- },
+ [
+ new JpegComponentConfig(id: 1, hsf: 2, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+ new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1)
+ ],
yCbCrHuffmanConfigs,
yCbCrQuantTableConfigs),
// YCbCr 4:2:0
- new(
+ new JpegFrameConfig(
JpegColorSpace.YCbCr,
JpegColorType.YCbCrRatio420,
- new JpegComponentConfig[]
- {
- new(id: 1, hsf: 2, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- },
+ [
+ new JpegComponentConfig(id: 1, hsf: 2, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+ new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1)
+ ],
yCbCrHuffmanConfigs,
yCbCrQuantTableConfigs),
// YCbCr 4:1:1
- new(
+ new JpegFrameConfig(
JpegColorSpace.YCbCr,
JpegColorType.YCbCrRatio411,
- new JpegComponentConfig[]
- {
- new(id: 1, hsf: 4, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- },
+ [
+ new JpegComponentConfig(id: 1, hsf: 4, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+ new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1)
+ ],
yCbCrHuffmanConfigs,
yCbCrQuantTableConfigs),
// YCbCr 4:1:0
- new(
+ new JpegFrameConfig(
JpegColorSpace.YCbCr,
JpegColorType.YCbCrRatio410,
- new JpegComponentConfig[]
- {
- new(id: 1, hsf: 4, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- new(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
- },
+ [
+ new JpegComponentConfig(id: 1, hsf: 4, vsf: 2, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1),
+ new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 1, dcIndex: 1, acIndex: 1)
+ ],
yCbCrHuffmanConfigs,
yCbCrQuantTableConfigs),
// Luminance
- new(
+ new JpegFrameConfig(
JpegColorSpace.Grayscale,
JpegColorType.Luminance,
- new JpegComponentConfig[]
- {
- new(id: 0, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- },
- new JpegHuffmanTableConfig[]
- {
+ [
+ new JpegComponentConfig(id: 0, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0)
+ ],
+ [
defaultLuminanceHuffmanDC,
defaultLuminanceHuffmanAC
- },
- new JpegQuantizationTableConfig[]
- {
+ ],
+ [
defaultLuminanceQuantTable
- }),
+ ]),
// Rgb
- new(
+ new JpegFrameConfig(
JpegColorSpace.RGB,
JpegColorType.Rgb,
- new JpegComponentConfig[]
- {
- new(id: 82, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 71, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 66, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- },
- new JpegHuffmanTableConfig[]
- {
+ [
+ new JpegComponentConfig(id: 82, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 71, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 66, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0)
+ ],
+ [
defaultLuminanceHuffmanDC,
defaultLuminanceHuffmanAC
- },
- new JpegQuantizationTableConfig[]
- {
+ ],
+ [
defaultLuminanceQuantTable
- })
+ ])
{
AdobeColorTransformMarkerFlag = JpegConstants.Adobe.ColorTransformUnknown
},
// Cmyk
- new(
+ new JpegFrameConfig(
JpegColorSpace.Cmyk,
JpegColorType.Cmyk,
- new JpegComponentConfig[]
- {
- new(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 2, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 3, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 4, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- },
- new JpegHuffmanTableConfig[]
- {
+ [
+ new JpegComponentConfig(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 4, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0)
+ ],
+ [
defaultLuminanceHuffmanDC,
defaultLuminanceHuffmanAC
- },
- new JpegQuantizationTableConfig[]
- {
+ ],
+ [
defaultLuminanceQuantTable
- })
+ ])
{
AdobeColorTransformMarkerFlag = JpegConstants.Adobe.ColorTransformUnknown,
},
// YccK
- new(
+ new JpegFrameConfig(
JpegColorSpace.Ycck,
JpegColorType.Ycck,
- new JpegComponentConfig[]
- {
- new(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 2, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 3, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- new(id: 4, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
- },
- new JpegHuffmanTableConfig[]
- {
+ [
+ new JpegComponentConfig(id: 1, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 2, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 3, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0),
+ new JpegComponentConfig(id: 4, hsf: 1, vsf: 1, quantIndex: 0, dcIndex: 0, acIndex: 0)
+ ],
+ [
defaultLuminanceHuffmanDC,
defaultLuminanceHuffmanAC
- },
- new JpegQuantizationTableConfig[]
- {
+ ],
+ [
defaultLuminanceQuantTable
- })
+ ])
{
AdobeColorTransformMarkerFlag = JpegConstants.Adobe.ColorTransformYcck,
- },
- };
+ }
+ ];
}
}
diff --git a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
index 7db26e5c58..5f94961409 100644
--- a/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
+++ b/src/ImageSharp/Metadata/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
@@ -102,7 +102,7 @@ public static explicit operator IccMultiLocalizedUnicodeTagDataEntry(IccTextDesc
localString = new IccLocalizedString(string.Empty);
}
- return new IccMultiLocalizedUnicodeTagDataEntry(new[] { localString }, textEntry.TagSignature);
+ return new IccMultiLocalizedUnicodeTagDataEntry([localString], textEntry.TagSignature);
static CultureInfo GetCulture(uint value)
{
diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
index 59f5773cf1..aec6c3c276 100644
--- a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs
@@ -35,7 +35,7 @@ public AffineTransformProcessor(Configuration configuration, AffineTransformProc
{
this.destinationSize = definition.DestinationSize;
this.transformMatrix = definition.TransformMatrix;
- this.transformMatrix4x4 = new(this.transformMatrix);
+ this.transformMatrix4x4 = new Matrix4x4(this.transformMatrix);
this.resampler = definition.Sampler;
}
diff --git a/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs b/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
index 8421c1fd74..e6bf32e4d2 100644
--- a/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
+++ b/tests/ImageSharp.Tests/Common/EncoderExtensionsTests.cs
@@ -20,7 +20,7 @@ public void GetString_EmptyBuffer_ReturnsEmptyString()
[Fact]
public void GetString_Buffer_ReturnsString()
{
- ReadOnlySpan buffer = new(new byte[] { 73, 109, 97, 103, 101, 83, 104, 97, 114, 112 });
+ ReadOnlySpan buffer = new("ImageSharp"u8.ToArray());
string result = Encoding.UTF8.GetString(buffer);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
index 37be0f8f56..6ea5288182 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegMetadataTests.cs
@@ -71,7 +71,7 @@ public void Comment_EmptyComment()
public void Comment_OnlyComment()
{
string comment = "test comment";
- Collection expectedCollection = new() { comment };
+ Collection expectedCollection = [comment];
JpegMetadata meta = new();
meta.Comments.Add(JpegComData.FromString(comment));
diff --git a/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs b/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
index 990c583856..d397fc60c8 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/Vp8HistogramTests.cs
@@ -13,55 +13,60 @@ public static IEnumerable