public static void ReadWriteEvents() { // Load crop script MagickScript script = new MagickScript(SampleFiles.CropMsl); // Event that will be raised when the script wants to read a file script.Read += OnScriptRead; // Event that will be raised when the script wants to write a file script.Write += OnScriptWrite; // Execute the script script.Execute(); }
public string Execute(FileItem item, string infile, string dest, ValuePairEnumerator configData) { var conf = new ScriptTransformViewModel(configData); using (Stream stream = ToStream(conf.Script)) { MagickScript script = new MagickScript(stream); // Read image from file using (MagickImage image = new MagickImage(infile)) { // Execute script with the image and write it to a jpg file script.Execute(image); image.Write(dest); } } return dest; }
public static void ReuseSameScript() { // Load wave script MagickScript script = new MagickScript(SampleFiles.WaveMsl); // Execute script multiple times string[] files = new string[] { SampleFiles.FujiFilmFinePixS1ProJpg, SampleFiles.SnakewareJpg }; foreach (string fileName in files) { // Read image from file using (MagickImage image = new MagickImage(fileName)) { // Execute script with the image and write it to a jpg file script.Execute(image); image.Write(SampleFiles.OutputDirectory + fileName + ".wave.jpg"); } } }
public void Test_Execute_Variables() { MagickScript script = new MagickScript(Files.Scripts.Variables); string[] names = script.Variables.Names.ToArray(); Assert.AreEqual(3, names.Length); Assert.AreEqual("width", names[0]); Assert.AreEqual("height", names[1]); Assert.AreEqual("color", names[2]); using (MagickImage image = new MagickImage(Files.MagickNETIconPNG)) { ExceptionAssert.Throws<ArgumentNullException>(delegate () { script.Execute(image); }); script.Variables["width"] = "test"; ExceptionAssert.Throws<FormatException>(delegate () { script.Execute(image); }); script.Variables.Set("width", 100); ExceptionAssert.Throws<ArgumentNullException>(delegate () { script.Execute(image); }); script.Variables["height"] = "100"; Assert.AreEqual("100", script.Variables.Get("height")); script.Variables["color"] = Color.Yellow; script.Execute(image); Assert.AreEqual(100, image.Width); Assert.AreEqual(100, image.Height); using (PixelCollection pixels = image.GetReadOnlyPixels()) { ColorAssert.AreEqual(Color.Yellow, pixels.GetPixel(0, 0)); } } }
public void Test_Execute_Resize() { MagickScript script = new MagickScript(Files.Scripts.Resize); using (MagickImage image = new MagickImage(Files.ImageMagickJPG)) { script.Execute(image); TestScriptResizeResult(image); script.Read += ResizeScriptRead; using (MagickImage result = script.Execute()) { TestScriptResizeResult(result); } } }
public void Test_Execute_ImageProfile() { MagickScript script = new MagickScript(Files.Scripts.ImageProfile); using (MagickImage image = new MagickImage(Files.MagickNETIconPNG)) { ColorProfile colorProfile = image.GetColorProfile(); Assert.IsNull(colorProfile); script.Execute(image); colorProfile = image.GetColorProfile(); Assert.IsNotNull(colorProfile); Assert.AreEqual(colorProfile.ToByteArray().Length, ColorProfile.SRGB.ToByteArray().Length); } }
public void Test_Execute_Events() { MagickScript script = new MagickScript(Files.Scripts.Events); ExceptionAssert.Throws<InvalidOperationException>(delegate () { script.Execute(); }); script.Read += Script_ReadNothing; ExceptionAssert.Throws<InvalidOperationException>(delegate () { script.Execute(); }); script.Read -= Script_ReadNothing; ExceptionAssert.Throws<InvalidOperationException>(delegate () { script.Read += EventsScriptRead; script.Read -= EventsScriptRead; script.Execute(); }); script.Read += EventsScriptRead; ExceptionAssert.Throws<InvalidOperationException>(delegate () { script.Execute(); }); ExceptionAssert.Throws<InvalidOperationException>(delegate () { script.Write += EventsScriptWrite; script.Write -= EventsScriptWrite; script.Execute(); }); script.Write += EventsScriptWrite; script.Execute(); }
public void Test_Execute_Draw() { XmlDocument doc = new XmlDocument(); doc.Load(Files.Scripts.Draw); MagickScript script = new MagickScript(doc); using (MagickImage image = new MagickImage(Files.ImageMagickJPG)) { script.Execute(image); } }
public void Test_Execute_Distort() { MagickScript script = new MagickScript(Files.Scripts.Distort); MagickImage image = script.Execute(); Assert.IsNotNull(image); Assert.AreEqual(500, image.Width); Assert.AreEqual(500, image.Height); }
public void Test_Execute_Defines() { MagickScript script = new MagickScript(Files.Scripts.Defines); script.Read += DefinesScriptRead; MagickImage image = script.Execute(); Assert.IsNotNull(image); Assert.AreEqual(827, image.Width); Assert.AreEqual(700, image.Height); }
public void Test_Execute_Collection() { MagickScript script = new MagickScript(Files.Scripts.Collection); script.Read += CollectionScriptRead; MagickImage image = script.Execute(); Assert.IsNotNull(image); Assert.AreEqual(MagickFormat.Png, image.Format); Assert.AreEqual(128, image.Width); Assert.AreEqual(128, image.Height); }
public static void WriteMultipleOutputFiles() { // Load clone script and execute it MagickScript script = new MagickScript(SampleFiles.CloneMsl); script.Execute(); }
public static void Resize() { // Load resize script and execute it MagickScript script = new MagickScript(SampleFiles.ResizeMsl); script.Execute(); }
public void Test_Execute_Variables() { MagickScript script = new MagickScript(Files.Scripts.Variables); string[] names = script.Variables.Names.ToArray(); Assert.AreEqual(4, names.Length); Assert.AreEqual("width", names[0]); Assert.AreEqual("height", names[1]); Assert.AreEqual("color", names[2]); Assert.AreEqual("fillColor", names[3]); using (MagickImage image = new MagickImage(Files.MagickNETIconPNG)) { ExceptionAssert.Throws<ArgumentNullException>(delegate () { script.Execute(image); }); script.Variables["width"] = "test"; ExceptionAssert.Throws<FormatException>(delegate () { script.Execute(image); }); script.Variables.Set("width", 100); ExceptionAssert.Throws<ArgumentNullException>(delegate () { script.Execute(image); }); script.Variables["height"] = "100"; Assert.AreEqual("100", script.Variables.Get("height")); script.Variables["color"] = MagickColors.Yellow; script.Variables["fillColor"] = MagickColors.Red; script.Execute(image); Assert.AreEqual(100, image.Width); Assert.AreEqual(100, image.Height); ColorAssert.AreEqual(MagickColors.Yellow, image, 0, 0); ColorAssert.AreEqual(MagickColors.Yellow, image.Settings.StrokeColor); ColorAssert.AreEqual(MagickColors.Red, image.Settings.FillColor); } }
public void Test_Execute_Draw() { XmlDocument doc = new XmlDocument(); using (FileStream stream = File.OpenRead(Files.Scripts.Draw)) { doc.Load(stream); } MagickScript script = new MagickScript(doc.CreateNavigator()); using (MagickImage image = new MagickImage(Files.ImageMagickJPG)) { script.Execute(image); } }