// uses custom filter to select objects within a distance range from // chicago private void menuItemCustomQueryFilter_Click(object sender, System.EventArgs e) { try { Feature fChicago = _catalog.SearchForFeature("uscty_1k", MapInfo.Data.SearchInfoFactory.SearchWhere("City='Chicago'")); // build up a search info by hand (not using the factory) Distance d1 = new Distance(35, DistanceUnit.Mile); Distance d2 = new Distance(125, DistanceUnit.Mile); QueryFilter filter = new MyCustomFilter(fChicago.Geometry, d1, d2); QueryDefinition qd = new QueryDefinition(filter, "*"); SearchInfo si = new SearchInfo(null, qd); IResultSetFeatureCollection fc = _catalog.Search("uscty_1k", si); // set map view to show search results _map.SetView(fc.Envelope); // make a search geometry to show what we are doing FeatureGeometry buffer1 = fChicago.Geometry.Buffer(d1.Value, d1.Unit, 20, DistanceType.Spherical); FeatureGeometry buffer2 = fChicago.Geometry.Buffer(d2.Value, d2.Unit, 20, DistanceType.Spherical); ShowSearchGeometry(buffer1); ShowSearchGeometry(buffer2, false); // show results as selection SelectFeatureCollection(fc); } finally { Cursor.Current = Cursors.Default; } }
public void CIKernel_BasicTest() { if (!TestRuntime.CheckSystemAndSDKVersion(8, 0)) { Assert.Inconclusive("Custom filters require iOS8+"); } Exception ex = null; var t = new Thread(() => { // This code will crash if an MKMapView has been created previously on // the same thread, so just run it on a different thread (MKMapViews can // only be created on the main thread). This is obviously an Apple bug, // and a radar has been filed: 19249153. ObjC test case: https://github.com/rolfbjarne/CIKernelMKMapViewCrash try { PlatformImage uiImg = new PlatformImage(NSBundle.MainBundle.PathForResource("Xam", "png", "CoreImage")); #if MONOMAC CIImage ciImg = new CIImage(uiImg.CGImage); CIContext context = new CIContext(null); #else CIImage ciImg = new CIImage(uiImg); CIContext context = CIContext.FromOptions(null); #endif foreach (CustomerFilterType type in Enum.GetValues(typeof(CustomerFilterType))) { MyCustomFilter filter = new MyCustomFilter(type); filter.MyImage = ciImg; CIImage outputImage = filter.OutputImage; CGImage cgImage = context.CreateCGImage(outputImage, outputImage.Extent); #if MONOMAC NSImage finalImg = new NSImage(cgImage, new CGSize()); #else UIImage finalImg = new UIImage(cgImage); #endif Assert.IsNotNull(finalImg, "CIKernel_BasicTest should not be null"); Assert.IsTrue(filter.CallbackHit, "CIKernel_BasicTest callback must be hit"); if (filter.IsColorKernel) { Assert.IsTrue(filter.kernel is CIColorKernel, "CIKernel_BasicTest we disagree that it is a color kernel"); } else { Assert.IsTrue(filter.kernel is CIWarpKernel, "CIKernel_BasicTest we disagree that it is a warp kernel"); } } } catch (Exception ex2) { ex = ex2; } }); t.Start(); t.Join(); if (ex != null) { throw ex; } }
static void Main(string[] args) { var processor = new PhotoProcessor(); PhotoProcessor.PhotoFilterHandler filterHandler; PhotoFilters filters = new PhotoFilters(); filterHandler = filters.ApplyBrightness; MyCustomFilter myCustomFilter = new MyCustomFilter(); filterHandler += myCustomFilter.MyCustomFilterMethod; processor.Process("path da foto", filterHandler); Console.Read(); }
// shows how to combine filters using logical And private void menuItemLogicalFilter_Click(object sender, System.EventArgs e) { try { Feature fChicago = _catalog.SearchForFeature("uscty_1k", MapInfo.Data.SearchInfoFactory.SearchWhere("City='Chicago'")); // build up a search info by hand (not using the factory) Distance d1 = new Distance(35, DistanceUnit.Mile); Distance d2 = new Distance(125, DistanceUnit.Mile); QueryFilter filterA = new MyCustomFilter(fChicago.Geometry, d1, d2); // build up a search info by hand (not using the factory) QueryFilter filterB = new SqlExpressionFilter("State='IL'"); QueryFilter filter = new LogicalFilter(LogicalOperation.And, filterA, filterB); QueryDefinition qd = new QueryDefinition(filter, "*"); SearchInfo si = new SearchInfo(null, qd); IResultSetFeatureCollection fc = _catalog.Search("uscty_1k", si); // set map view to show search results _map.SetView(fc.Envelope); // make a search geometry to show what we are doing FeatureGeometry buffer1 = fChicago.Geometry.Buffer(d1.Value, d1.Unit, 20, DistanceType.Spherical); FeatureGeometry buffer2 = fChicago.Geometry.Buffer(d2.Value, d2.Unit, 20, DistanceType.Spherical); ShowSearchGeometry(buffer1); ShowSearchGeometry(buffer2, false); Feature fIL = _catalog.SearchForFeature("usa", MapInfo.Data.SearchInfoFactory.SearchWhere("State='IL'")); ShowSearchGeometry(fIL.Geometry, false); // show results as selection SelectFeatureCollection(fc); } finally { Cursor.Current = Cursors.Default; } }