public void Test_IptcProfile() { using (MagickImage input = new MagickImage(Files.MagickNETIconPNG)) { IptcProfile profile = input.GetIptcProfile(); Assert.IsNull(profile); profile = new IptcProfile(); profile.SetValue(IptcTag.Headline, "Magick.NET"); profile.SetValue(IptcTag.CopyrightNotice, "Copyright.NET"); input.AddProfile(profile); using (MemoryStream memStream = new MemoryStream()) { input.Format = MagickFormat.Tiff; input.Write(memStream); memStream.Position = 0; using (MagickImage output = new MagickImage(memStream)) { profile = output.GetIptcProfile(); Assert.IsNotNull(profile); TestValue(profile, IptcTag.Headline, "Magick.NET"); TestValue(profile, IptcTag.CopyrightNotice, "Copyright.NET"); } } } }
private static IptcValue GetIptcValue() { using (MagickImage image = new MagickImage(Files.FujiFilmFinePixS1ProJPG)) { IptcProfile profile = image.GetIptcProfile(); return profile.Values.ElementAt(1); } }
public void Test_ToByteArray() { using (MagickImage image = new MagickImage(Files.FujiFilmFinePixS1ProJPG)) { ImageProfile profile = image.GetIptcProfile(); Assert.IsNotNull(profile); Assert.AreEqual(273, profile.ToByteArray().Length); } }
public void Test_IEquatable() { using (MagickImage image = new MagickImage(Files.FujiFilmFinePixS1ProJPG)) { ImageProfile first = image.GetIptcProfile(); Assert.IsFalse(first == null); Assert.IsFalse(first.Equals(null)); Assert.IsTrue(first.Equals(first)); Assert.IsTrue(first.Equals((object)first)); ImageProfile second = image.GetIptcProfile(); Assert.IsNotNull(second); Assert.IsTrue(first == second); Assert.IsTrue(first.Equals(second)); Assert.IsTrue(first.Equals((object)second)); second = new IptcProfile(new byte[] { 0 }); Assert.IsTrue(first != second); Assert.IsFalse(first.Equals(second)); } }
public void Test_SetEncoding() { using (MagickImage image = new MagickImage(Files.FujiFilmFinePixS1ProJPG)) { IptcProfile profile = image.GetIptcProfile(); TestProfileValues(profile); ExceptionAssert.Throws<ArgumentNullException>(delegate () { profile.SetEncoding(null); }); profile.SetEncoding(Encoding.UTF8); Assert.AreEqual(Encoding.UTF8, profile.Values.First().Encoding); } }
public void Test_ClippingPaths() { using (MagickImage image = new MagickImage(Files.EightBimTIF)) { EightBimProfile profile = image.Get8BimProfile(); TestProfile(profile); using (MagickImage emptyImage = new MagickImage(Files.EightBimTIF)) { emptyImage.Strip(); Assert.IsNull(emptyImage.GetIptcProfile()); emptyImage.AddProfile(profile); profile = emptyImage.Get8BimProfile(); TestProfile(profile); } } }
public void Test_SkipProfiles() { MagickReadSettings settings = new MagickReadSettings() { Defines = new JpegReadDefines() { SkipProfiles = ProfileTypes.Iptc | ProfileTypes.Icc } }; using (MagickImage image = new MagickImage()) { image.Read(Files.FujiFilmFinePixS1ProJPG); Assert.IsNotNull(image.GetIptcProfile()); image.Read(Files.FujiFilmFinePixS1ProJPG, settings); Assert.IsNull(image.GetIptcProfile()); Assert.AreEqual("Icc,Iptc", image.GetDefine(MagickFormat.Unknown, "profile:skip")); } }
public void Test_SetValue() { using (MemoryStream memStream = new MemoryStream()) { string credit = null; for (int i = 0; i < 255; i++) credit += i.ToString() + "."; using (MagickImage image = new MagickImage(Files.FujiFilmFinePixS1ProJPG)) { IptcProfile profile = image.GetIptcProfile(); TestProfileValues(profile); IptcValue value = profile.GetValue(IptcTag.Title); TestValue(value, "Communications"); profile.SetValue(IptcTag.Title, "Magick.NET Title"); TestValue(value, "Magick.NET Title"); value = profile.GetValue(IptcTag.Title); TestValue(value, "Magick.NET Title"); value = profile.Values.FirstOrDefault(val => val.Tag == IptcTag.ReferenceNumber); Assert.IsNull(value); profile.SetValue(IptcTag.ReferenceNumber, "Magick.NET ReferenceNümber"); value = profile.GetValue(IptcTag.ReferenceNumber); TestValue(value, "Magick.NET ReferenceNümber"); profile.SetValue(IptcTag.Credit, credit); value = profile.GetValue(IptcTag.Credit); TestValue(value, credit); // Remove the 8bim profile so we can overwrite the iptc profile. image.RemoveProfile("8bim"); image.AddProfile(profile); image.Write(memStream); memStream.Position = 0; } using (MagickImage image = new MagickImage(memStream)) { IptcProfile profile = image.GetIptcProfile(); TestProfileValues(profile, 19); IptcValue value = profile.GetValue(IptcTag.Title); TestValue(value, "Magick.NET Title"); value = profile.GetValue(IptcTag.ReferenceNumber); TestValue(value, "Magick.NET ReferenceNümber"); value = profile.GetValue(IptcTag.Credit); TestValue(value, credit); ExceptionAssert.Throws<ArgumentNullException>(delegate () { profile.SetValue(IptcTag.Caption, null, "Test"); }); profile.SetValue(IptcTag.Caption, "Test"); value = profile.Values.ElementAt(1); Assert.AreEqual("Test", value.Value); profile.SetValue(IptcTag.Caption, Encoding.UTF32, "Test"); Assert.AreEqual(Encoding.UTF32, value.Encoding); Assert.AreEqual("Test", value.Value); Assert.IsTrue(profile.RemoveValue(IptcTag.Caption)); Assert.IsFalse(profile.RemoveValue(IptcTag.Caption)); Assert.IsNull(profile.GetValue(IptcTag.Caption)); } } }
public void Test_Values() { using (MagickImage image = new MagickImage(Files.FujiFilmFinePixS1ProJPG)) { IptcProfile profile = image.GetIptcProfile(); TestProfileValues(profile); using (MagickImage emptyImage = new MagickImage(Files.ImageMagickJPG)) { Assert.IsNull(emptyImage.GetIptcProfile()); emptyImage.AddProfile(profile); profile = emptyImage.GetIptcProfile(); TestProfileValues(profile); } } }
public void Test_Profile() { using (MagickImage image = new MagickImage(Files.FujiFilmFinePixS1ProJPG)) { ImageProfile profile = image.GetIptcProfile(); Assert.IsNotNull(profile); image.RemoveProfile(profile.Name); profile = image.GetIptcProfile(); Assert.IsNull(profile); using (MemoryStream memStream = new MemoryStream()) { image.Write(memStream); memStream.Position = 0; using (MagickImage newImage = new MagickImage(memStream)) { profile = newImage.GetIptcProfile(); Assert.IsNull(profile); } } } }