public void Image_Open() { Map m = new Map(10, 10); Image i1 = new Image(10, 10); m.Background = new Color("green"); m.Render(i1); Image i2 = Image.Open(@".\data\10x10green.png"); Assert.AreEqual(i1.Compare(i2), 0); }
public void Image_FromBytes() { Map m = new Map(10, 10); Image i1 = new Image(10, 10); m.Background = new Color("green"); m.Render(i1); byte[] buffer = File.ReadAllBytes(@".\data\10x10green.png"); Image i2 = Image.FromBytes(buffer); Assert.AreEqual(i1.Compare(i2), 0); }
public void Image_Compare_InvalidSize() { Image i1 = new Image(256, 256); Image i2 = new Image(512, 512); i1.Compare(i2); }
public void Image_Compare() { Map m1 = new Map(256, 256); Map m2 = new Map(256, 256); Image i1 = new Image(256, 256); Image i2 = new Image(256, 256); Assert.AreEqual(i1.Compare(i2), 0); i1.SetPixel(0, 0, new Color("white")); Assert.AreEqual(i1.Compare(i2), 1); m1.Background = new Color("black"); m1.Render(i1); Assert.AreEqual(i1.Width() * i1.Height(), i1.Compare(i2)); //test options m1.Background= new Color(100, 100, 100, 255); m1.Render(i1); i2 = new Image(256, 256); m2.Background = new Color(100,100,100,100); m2.Render(i2); Dictionary<string, object> options; options = new Dictionary<string, object> { { "Alpha", false } }; Assert.AreEqual(i1.Compare(i2, options), 0); m1.Background = new Color(255, 255, 255); m1.Render(i1); m2.Background = new Color(255, 255, 255); m2.Render(i2); i2.SetPixel(0, 0, new Color(250, 250, 250)); options = new Dictionary<string, object> { { "Threshold", 5 } }; Assert.AreEqual(i1.Compare(i2, options), 0); }
public void VectorTile_Overzoom_Render() { Mapnik.RegisterDatasource(Path.Combine(Mapnik.Paths["InputPlugins"], "shape.input")); Map m = new Map(256, 256); m.Load(@".\data\layer.xml"); m.ZoomToBox(-20037508.34, -20037508.34, 20037508.34, 20037508.34); VectorTile v1 = new VectorTile(0, 0, 0, 256, 256); m.Render(v1); m.ZoomToBox(-20037508.34, 0, 0, 20037508.34); VectorTile v2 = new VectorTile(1, 0, 0, 256, 256); m.Render(v2); Map renderMap = new Map(256, 256); renderMap.Load(@".\data\style.xml"); Image i1 = new Image(256, 256); Image i2 = new Image(256, 256); Dictionary<string, object> options = new Dictionary<string, object>(); options["Z"] = 1; v1.Render(renderMap, i1, options); v2.Render(renderMap, i2); //Small diff showing up between images Assert.IsTrue(i1.Compare(i2)-500 < 0); }
public void VectorTile_Render_Image() { Mapnik.RegisterDatasource(Path.Combine(Mapnik.Paths["InputPlugins"], "shape.input")); Map m = new Map(256, 256); m.Load(@".\data\layer.xml"); m.Extent = new double[] { -20037508.34, 0, 0, 20037508.34 }; VectorTile v = new VectorTile(1, 0, 0); m.Render(v); VectorTile v2 = new VectorTile(1, 0, 0); v2.SetData(v.GetData()); Map m2 = new Map(256, 256); m2.Load(@".\data\style.xml"); Image i = new Image(256, 256); v2.Render(m2, i); Assert.AreEqual(0,i.Compare(Image.Open(@".\data\world_1.0.0.png"))); }
public void VectorTile_AddImage() { VectorTile v = new VectorTile(1, 0, 0); byte[] bytes = File.ReadAllBytes(@".\data\world_1.0.0.png"); v.AddImage(bytes, "raster"); Assert.IsFalse(v.Empty()); Assert.IsTrue(v.Painted()); CollectionAssert.AreEquivalent(new List<string>() { "raster" }, v.Names().ToList()); Map m = new Map(256, 256); m.Load(@".\data\raster_style.xml"); Image i = new Image(256, 256); v.Render(m, i); Assert.AreEqual(0,i.Compare(Image.FromBytes(bytes))); }