public static void ConvertPDFTOneImage() { MagickReadSettings settings = new MagickReadSettings(); // Settings the density to 300 dpi will create an image with a better quality settings.Density = new PointD(300, 300); using (MagickImageCollection images = new MagickImageCollection()) { // Add all the pages of the pdf file to the collection images.Read(SampleFiles.SnakewarePdf, settings); // Create new image that appends all the pages horizontally using (MagickImage horizontal = images.AppendHorizontally()) { // Save result as a png horizontal.Write(SampleFiles.OutputDirectory + "Snakeware.horizontal.png"); } // Create new image that appends all the pages horizontally using (MagickImage vertical = images.AppendVertically()) { // Save result as a png vertical.Write(SampleFiles.OutputDirectory + "Snakeware.vertical.png"); } } }
private MagickImage CreatePallete() { using (MagickImageCollection images = new MagickImageCollection()) { images.Add(new MagickImage(MagickColors.Red, 1, 1)); images.Add(new MagickImage(MagickColors.Blue, 1, 1)); images.Add(new MagickImage(MagickColors.Green, 1, 1)); return images.AppendHorizontally(); } }
public void Test_Append() { int width = 70; int height = 46; using (MagickImageCollection collection = new MagickImageCollection(Files.RoseSparkleGIF)) { Assert.AreEqual(width, collection[0].Width); Assert.AreEqual(height, collection[0].Height); using (MagickImage image = collection.AppendHorizontally()) { Assert.AreEqual(width * 3, image.Width); Assert.AreEqual(height, image.Height); } using (MagickImage image = collection.AppendVertically()) { Assert.AreEqual(width, image.Width); Assert.AreEqual(height * 3, image.Height); } } }
public void Test_Append() { int width = 70; int height = 46; using (MagickImageCollection collection = new MagickImageCollection()) { ExceptionAssert.Throws<InvalidOperationException>(delegate () { collection.AppendHorizontally(); }); ExceptionAssert.Throws<InvalidOperationException>(delegate () { collection.AppendVertically(); }); collection.Read(Files.RoseSparkleGIF); Assert.AreEqual(width, collection[0].Width); Assert.AreEqual(height, collection[0].Height); using (MagickImage image = collection.AppendHorizontally()) { Assert.AreEqual(width * 3, image.Width); Assert.AreEqual(height, image.Height); } using (MagickImage image = collection.AppendVertically()) { Assert.AreEqual(width, image.Width); Assert.AreEqual(height * 3, image.Height); } } }
public void Test_Map() { using (MagickImageCollection colors = new MagickImageCollection()) { colors.Add(new MagickImage(MagickColors.Red, 1, 1)); colors.Add(new MagickImage(MagickColors.Green, 1, 1)); using (MagickImage remapImage = colors.AppendHorizontally()) { using (MagickImageCollection collection = new MagickImageCollection()) { ExceptionAssert.Throws<InvalidOperationException>(delegate () { collection.Map(null); }); ExceptionAssert.Throws<InvalidOperationException>(delegate () { collection.Map(remapImage); }); collection.Read(Files.RoseSparkleGIF); ExceptionAssert.Throws<ArgumentNullException>(delegate () { collection.Map(null); }); QuantizeSettings settings = new QuantizeSettings(); settings.DitherMethod = DitherMethod.FloydSteinberg; collection.Map(remapImage, settings); ColorAssert.AreEqual(MagickColors.Red, collection[0], 60, 17); ColorAssert.AreEqual(MagickColors.Green, collection[0], 37, 24); ColorAssert.AreEqual(MagickColors.Red, collection[1], 58, 30); ColorAssert.AreEqual(MagickColors.Green, collection[1], 36, 26); ColorAssert.AreEqual(MagickColors.Red, collection[2], 60, 40); ColorAssert.AreEqual(MagickColors.Green, collection[2], 17, 21); } } } }
public void Test_Evaluate() { using (MagickImageCollection collection = new MagickImageCollection()) { ExceptionAssert.Throws<InvalidOperationException>(delegate () { collection.Evaluate(EvaluateOperator.Exponential); }); collection.Add(new MagickImage(MagickColors.Yellow, 40, 10)); using (MagickImageCollection frames = new MagickImageCollection()) { frames.Add(new MagickImage(MagickColors.Green, 10, 10)); frames.Add(new MagickImage(MagickColors.White, 10, 10)); frames.Add(new MagickImage(MagickColors.Black, 10, 10)); frames.Add(new MagickImage(MagickColors.Yellow, 10, 10)); collection.Add(frames.AppendHorizontally()); } using (MagickImage image = collection.Evaluate(EvaluateOperator.Min)) { ColorAssert.AreEqual(MagickColors.Green, image, 0, 0); ColorAssert.AreEqual(MagickColors.Yellow, image, 10, 0); ColorAssert.AreEqual(MagickColors.Black, image, 20, 0); ColorAssert.AreEqual(MagickColors.Yellow, image, 30, 0); } } }
public void Test_Deconstruct() { using (MagickImageCollection collection = new MagickImageCollection()) { ExceptionAssert.Throws<InvalidOperationException>(delegate () { collection.Deconstruct(); }); collection.Add(new MagickImage(MagickColors.Red, 20, 20)); using (MagickImageCollection frames = new MagickImageCollection()) { frames.Add(new MagickImage(MagickColors.Red, 10, 20)); frames.Add(new MagickImage(MagickColors.Purple, 10, 20)); collection.Add(frames.AppendHorizontally()); } Assert.AreEqual(20, collection[1].Width); Assert.AreEqual(20, collection[1].Height); Assert.AreEqual(new MagickGeometry(0, 0, 20, 20), collection[1].Page); ColorAssert.AreEqual(MagickColors.Red, collection[1], 3, 3); collection.Deconstruct(); Assert.AreEqual(10, collection[1].Width); Assert.AreEqual(20, collection[1].Height); Assert.AreEqual(new MagickGeometry(10, 0, 20, 20), collection[1].Page); ColorAssert.AreEqual(MagickColors.Purple, collection[1], 3, 3); } }
private static MagickImage ExecuteAppendHorizontally(MagickImageCollection collection) { return collection.AppendHorizontally(); }
private static MagickImage ExecuteAppendHorizontally(MagickImageCollection collection) { return(collection.AppendHorizontally()); }
public void Test_SubImageSearch() { using (MagickImageCollection images = new MagickImageCollection()) { images.Add(new MagickImage(Color.Green, 2, 2)); images.Add(new MagickImage(Color.Red, 2, 2)); using (MagickImage combined = images.AppendHorizontally()) { using (MagickSearchResult searchResult = combined.SubImageSearch(new MagickImage(Color.Red, 0, 0), ErrorMetric.RootMeanSquared)) { Assert.IsNotNull(searchResult); Assert.IsNotNull(searchResult.SimilarityImage); Assert.IsNotNull(searchResult.BestMatch); Assert.AreEqual(0.0, searchResult.SimilarityMetric); Assert.AreEqual(2, searchResult.BestMatch.X); Assert.AreEqual(0, searchResult.BestMatch.Y); } } } }
public void Test_Normalize() { using (MagickImageCollection images = new MagickImageCollection()) { images.Add(new MagickImage("gradient:gray70-gray30", 100, 100)); images.Add(new MagickImage("gradient:blue-navy", 50, 100)); using (MagickImage colorRange = images.AppendHorizontally()) { ColorAssert.AreEqual(new MagickColor("gray70"), colorRange, 0, 0); ColorAssert.AreEqual(new MagickColor("blue"), colorRange, 101, 0); #if Q8 ColorAssert.AreEqual(new MagickColor("#4e4e4e"), colorRange, 0, 99); ColorAssert.AreEqual(new MagickColor("#000081"), colorRange, 101, 99); #elif Q16 || Q16HDRI ColorAssert.AreEqual(new MagickColor("#4e534e534e53"), colorRange, 0, 99); ColorAssert.AreEqual(new MagickColor("#0000000081c6"), colorRange, 101, 99); #else #error Not implemented! #endif colorRange.Normalize(); ColorAssert.AreEqual(new MagickColor("white"), colorRange, 0, 0); ColorAssert.AreEqual(new MagickColor("blue"), colorRange, 101, 0); #if Q8 ColorAssert.AreEqual(new MagickColor("#686868"), colorRange, 0, 99); ColorAssert.AreEqual(new MagickColor("#0000b4"), colorRange, 101, 99); #elif Q16 || Q16HDRI ColorAssert.AreEqual(new MagickColor("#67a367a367a3"), colorRange, 0, 99); ColorAssert.AreEqual(new MagickColor("#00000000b4f6"), colorRange, 101, 99); #else #error Not implemented! #endif } } }
public void Test_FlipFlop() { using (MagickImageCollection collection = new MagickImageCollection()) { collection.Add(new MagickImage(MagickColors.DodgerBlue, 10, 10)); collection.Add(new MagickImage(MagickColors.Firebrick, 10, 10)); using (MagickImage image = collection.AppendVertically()) { ColorAssert.AreEqual(MagickColors.DodgerBlue, image, 5, 0); ColorAssert.AreEqual(MagickColors.Firebrick, image, 5, 10); image.Flip(); ColorAssert.AreEqual(MagickColors.Firebrick, image, 5, 0); ColorAssert.AreEqual(MagickColors.DodgerBlue, image, 5, 10); } using (MagickImage image = collection.AppendHorizontally()) { ColorAssert.AreEqual(MagickColors.DodgerBlue, image, 0, 5); ColorAssert.AreEqual(MagickColors.Firebrick, image, 10, 5); image.Flop(); ColorAssert.AreEqual(MagickColors.Firebrick, image, 0, 5); ColorAssert.AreEqual(MagickColors.DodgerBlue, image, 10, 5); } } }