| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using ImageMagick;
- namespace QuestPDF.ConformanceTests.TestEngine;
- public static class ImageHelpers
- {
- public static void ConvertImageIccColorSpaceProfileToVersion2(Stream inputStream, Stream outputStream)
- {
- using var image = new MagickImage(inputStream);
- var iccVersion = GetIccProfileVersion();
- if (iccVersion == 2)
- {
- image.Write(outputStream);
- return;
- }
- if (iccVersion != null)
- image.RemoveProfile("icc");
-
- image.ColorSpace = ColorSpace.sRGB;
- image.SetProfile(ColorProfile.SRGB);
-
- image.Write(outputStream);
- int? GetIccProfileVersion()
- {
- var imageProfile = image.GetProfile("icc");
-
- if (imageProfile == null)
- return null;
-
- var imageProfileRaw = imageProfile.ToByteArray();
- if (imageProfileRaw.Length < 12)
- return null;
-
- return imageProfileRaw[8];
- }
- }
- public static void ConvertImageIccColorSpaceProfileToVersion2(string inputPath, string outputPath)
- {
- using var inputStream = File.OpenRead(inputPath);
- using var outputStream = File.OpenWrite(outputPath);
- ConvertImageIccColorSpaceProfileToVersion2(inputStream, outputStream);
- }
- }
|