예제 #1
0
 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)));
         }
     }
 }
예제 #3
0
        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));
        }
예제 #4
0
		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);
		}