public string Execute(FileItem item, string infile, string dest, ValuePairEnumerator configData) { var conf = new EffectViewModel(configData); dest = Path.Combine(Path.GetDirectoryName(dest), Path.GetFileNameWithoutExtension(dest) + ".jpg"); using (MagickImage image = new MagickImage(infile)) { switch (conf.SelectedMode) { case 0: image.SepiaTone(new Percentage(conf.Param1)); break; case 1: image.OilPaint(conf.Param1,0.1); break; case 2: image.Sketch(); break; case 3: image.Charcoal(); break; case 4: image.Solarize(); break; case 5: image.Swirl(conf.Param1); break; case 6: image.Wave(PixelInterpolateMethod.Bilinear, conf.Param1, conf.Param2); break; case 7: image.BlueShift(); break; case 8: image.RotationalBlur(conf.Param1); break; case 9: image.Raise(conf.Param1); break; case 10: image.Negate(); break; case 11: image.ColorSpace = ColorSpace.Gray; break; } image.Format = MagickFormat.Jpeg; image.Write(dest); } return dest; }
private void ExecuteSwirl(XmlElement element, MagickImage image) { Hashtable arguments = new Hashtable(); foreach (XmlAttribute attribute in element.Attributes) { if (attribute.Name == "degrees") arguments["degrees"] = Variables.GetValue<double>(attribute); else if (attribute.Name == "method") arguments["method"] = Variables.GetValue<PixelInterpolateMethod>(attribute); } if (OnlyContains(arguments, "degrees")) image.Swirl((double)arguments["degrees"]); else if (OnlyContains(arguments, "method", "degrees")) image.Swirl((PixelInterpolateMethod)arguments["method"], (double)arguments["degrees"]); else throw new ArgumentException("Invalid argument combination for 'swirl', allowed combinations are: [degrees] [method, degrees]"); }
private void ExecuteSwirl(XmlElement element, MagickImage image) { double degrees_ = Variables.GetValue<double>(element, "degrees"); image.Swirl(degrees_); }
public void Test_Swirl() { using (MagickImage image = new MagickImage(Files.Builtin.Logo)) { image.Alpha(AlphaOption.Deactivate); ColorAssert.AreEqual(MagickColors.Red, image, 287, 74); ColorAssert.AreNotEqual(MagickColors.White, image, 363, 333); image.Swirl(60); ColorAssert.AreNotEqual(MagickColors.Red, image, 287, 74); ColorAssert.AreEqual(MagickColors.White, image, 363, 333); } }