Skip to content

Commit 2345f69

Browse files
authored
Merge pull request #1115 from ionite34/backport/main/pr-1108
[dev to main] backport: Fix build error for .net 9/10 macOS hybrid shenanigans (1108)
2 parents 1f1f1e5 + ef78125 commit 2345f69

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

StabilityMatrix.Avalonia/Helpers/PngDataHelper.cs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ InferenceProjectDocument projectDocument
4242
while (position < inputImage.Length)
4343
{
4444
var chunkLength = BitConverter.ToInt32(
45-
inputImage[position..(position + 4)].Reverse().ToArray(),
45+
inputImage[position..(position + 4)].AsEnumerable().Reverse().ToArray(),
4646
0
4747
);
4848
var chunkType = Encoding.ASCII.GetString(inputImage[(position + 4)..(position + 8)]);
@@ -53,8 +53,10 @@ InferenceProjectDocument projectDocument
5353
{
5454
var imageWidthBytes = inputImage[(position + 8)..(position + 12)];
5555
var imageHeightBytes = inputImage[(position + 12)..(position + 16)];
56-
var imageWidth = BitConverter.ToInt32(imageWidthBytes.Reverse().ToArray());
57-
var imageHeight = BitConverter.ToInt32(imageHeightBytes.Reverse().ToArray());
56+
var imageWidth = BitConverter.ToInt32(imageWidthBytes.AsEnumerable().Reverse().ToArray());
57+
var imageHeight = BitConverter.ToInt32(
58+
imageHeightBytes.AsEnumerable().Reverse().ToArray()
59+
);
5860

5961
generationParameters.Width = imageWidth;
6062
generationParameters.Height = imageHeight;
@@ -102,7 +104,7 @@ public static byte[] RemoveMetadata(byte[] inputImage)
102104
while (position < inputImage.Length)
103105
{
104106
var chunkLength = BitConverter.ToInt32(
105-
inputImage[position..(position + 4)].Reverse().ToArray(),
107+
inputImage[position..(position + 4)].AsEnumerable().Reverse().ToArray(),
106108
0
107109
);
108110
var chunkType = Encoding.ASCII.GetString(inputImage[(position + 4)..(position + 8)]);
@@ -124,9 +126,13 @@ private static byte[] BuildTextChunk(string key, string value)
124126
{
125127
var textData = $"{key}\0{value}";
126128
var dataBytes = Encoding.UTF8.GetBytes(textData);
127-
var textDataLength = BitConverter.GetBytes(dataBytes.Length).Reverse();
129+
var textDataLength = BitConverter.GetBytes(dataBytes.Length).AsEnumerable().Reverse().ToArray();
128130
var textDataBytes = Text.Concat(dataBytes).ToArray();
129-
var crc = BitConverter.GetBytes(Crc32Algorithm.Compute(textDataBytes)).Reverse();
131+
var crc = BitConverter
132+
.GetBytes(Crc32Algorithm.Compute(textDataBytes))
133+
.AsEnumerable()
134+
.Reverse()
135+
.ToArray();
130136

131137
return textDataLength.Concat(textDataBytes).Concat(crc).ToArray();
132138
}

StabilityMatrix.Core/Helper/ImageMetadata.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Text;
33
using System.Text.Json;
44
using ExifLibrary;
5+
using KGySoft.CoreLibraries;
56
using MetadataExtractor;
67
using MetadataExtractor.Formats.Exif;
78
using MetadataExtractor.Formats.Png;
@@ -52,8 +53,8 @@ public static System.Drawing.Size GetImageSize(byte[] inputImage)
5253
{
5354
var imageWidthBytes = inputImage[0x10..0x14];
5455
var imageHeightBytes = inputImage[0x14..0x18];
55-
var imageWidth = BitConverter.ToInt32(imageWidthBytes.Reverse().ToArray());
56-
var imageHeight = BitConverter.ToInt32(imageHeightBytes.Reverse().ToArray());
56+
var imageWidth = BitConverter.ToInt32(imageWidthBytes.AsEnumerable().Reverse().ToArray());
57+
var imageHeight = BitConverter.ToInt32(imageHeightBytes.AsEnumerable().Reverse().ToArray());
5758

5859
return new System.Drawing.Size(imageWidth, imageHeight);
5960
}
@@ -66,8 +67,8 @@ public static System.Drawing.Size GetImageSize(BinaryReader reader)
6667
var imageWidthBytes = reader.ReadBytes(4);
6768
var imageHeightBytes = reader.ReadBytes(4);
6869

69-
var imageWidth = BitConverter.ToInt32(imageWidthBytes.Reverse().ToArray());
70-
var imageHeight = BitConverter.ToInt32(imageHeightBytes.Reverse().ToArray());
70+
var imageWidth = BitConverter.ToInt32(imageWidthBytes.AsEnumerable().Reverse().ToArray());
71+
var imageHeight = BitConverter.ToInt32(imageHeightBytes.AsEnumerable().Reverse().ToArray());
7172

7273
reader.BaseStream.Position = oldPosition;
7374

@@ -169,7 +170,7 @@ public static string ReadTextChunk(BinaryReader byteStream, string key)
169170

170171
while (byteStream.BaseStream.Position < byteStream.BaseStream.Length - 4)
171172
{
172-
var chunkSize = BitConverter.ToInt32(byteStream.ReadBytes(4).Reverse().ToArray());
173+
var chunkSize = BitConverter.ToInt32(byteStream.ReadBytes(4).AsEnumerable().Reverse().ToArray());
173174
var chunkType = Encoding.UTF8.GetString(byteStream.ReadBytes(4));
174175

175176
if (chunkType == Encoding.UTF8.GetString(Idat))
@@ -220,7 +221,7 @@ public static string ReadTextChunk(BinaryReader byteStream, string key)
220221
while (byteStream.BaseStream.Position < byteStream.BaseStream.Length - 4)
221222
{
222223
var chunkSizeBytes = byteStream.ReadBytes(4);
223-
var chunkSize = BitConverter.ToInt32(chunkSizeBytes.Reverse().ToArray());
224+
var chunkSize = BitConverter.ToInt32(chunkSizeBytes.AsEnumerable().Reverse().ToArray());
224225
var chunkTypeBytes = byteStream.ReadBytes(4);
225226
var chunkType = Encoding.UTF8.GetString(chunkTypeBytes);
226227

0 commit comments

Comments
 (0)