public void UnsupportedInputImage() { // some filters do not support inputImage (which we bound to the Image property) using (var filter = new CICheckerboardGenerator()) { // but if we call ObjC then we get a native exception and crash on devices Assert.False(filter.RespondsToSelector(new Selector("inputImage")), "inputImage"); // so we return null in those cases Assert.Null(filter.Image, "Image"); } }
public static CGImage GenerateCheckerboard(CGRect frame, CIColor c0, CIColor c1) { using (var board = new CICheckerboardGenerator() { Color0 = c0, Color1 = c1, Width = (float)Math.Min(frame.Height / 2f, 10), Center = new CIVector(new nfloat[] { 0, 0 }), }) { using (var context = new CIContext(null)) { return(context.CreateCGImage(board.OutputImage, new CGRect(0, 0, frame.Width, frame.Height))); } } }
public CIImage CheckerboardGenerator() { // Color 1 var c0 = CIColor.FromRgb(1, 0, 0); var c1 = CIColor.FromRgb(0, 1, 0); var checker = new CICheckerboardGenerator() { Color0 = c0, Color1 = c1, Center = new CIVector(new float[] { 10, 10 }), // Default [80 80] Sharpness = 1F // Default 1 }; return(Crop(checker)); }
public CIImage CheckerboardGenerator () { // Color 1 var c0 = CIColor.FromRgb (1, 0, 0); var c1 = CIColor.FromRgb (0, 1, 0); var checker = new CICheckerboardGenerator () { Color0 = c0, Color1 = c1, Center = new CIVector (new float[] { 10 , 10 }), // Default [80 80] Sharpness = 1F // Default 1 }; return Crop (checker); }