示例#1
0
        static CIFilter [] WrapFilters(NSArray filters)
        {
            if (filters == null)
            {
                return(new CIFilter [0]);
            }

            uint count = filters.Count;

            if (count == 0)
            {
                return(new CIFilter [0]);
            }
            var ret = new CIFilter [count];

            for (uint i = 0; i < count; i++)
            {
                IntPtr filterHandle = filters.ValueAt(i);
                string filterName   = CIFilter.GetFilterName(filterHandle);

                ret [i] = CIFilter.FromName(filterName, filterHandle);
            }
            return(ret);
        }
示例#2
0
        static CIFilter[] WrapFilters(NSArray filters)
        {
            if (filters == null)
                return new CIFilter [0];

            uint count = filters.Count;
            if (count == 0)
                return new CIFilter [0];
            var ret = new CIFilter [count];
            for (uint i = 0; i < count; i++){
                IntPtr filterHandle = filters.ValueAt (i);
                string filterName = CIFilter.GetFilterName (filterHandle);

                ret [i] = CIFilter.FromName (filterName, filterHandle);
            }
            return ret;
        }
		private void CreateTransitions()
		{
			var bundle = NSBundle.MainBundle;

			// Shading & mask for transitions (borrowed from the "Fun House" Core Image example).
			var inputShadingImage = new CIImage(NSData.FromFile(bundle.PathForResource("restrictedshine", "tiff")));
			var grayscaleImage = new CIImage(NSData.FromFile(bundle.PathForResource("grayscale", "jpg")));
			transitionInputMaskImage = new CIImage(NSData.FromFile(bundle.PathForResource("transitionmask", "jpg")));



			typeTransition = new CATransition();
			typeTransition.Duration = driver != null ? driver.Model.TransitionSeconds : 0.5;
			typeTransition.Type = CATransition.TransitionPush;
			typeTransition.Subtype = CATransition.TransitionFromLeft;
			typeTransition.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseInEaseOut);

			barsSwipeTransition = new CIBarsSwipeTransition();
			barsSwipeTransition.SetDefaults();

			copyMachineTransition = new CICopyMachineTransition();
			copyMachineTransition.SetDefaults();

			disintegrateTransform = new CILanczosScaleTransform();
			disintegrateTransform.SetDefaults();
			disintegrateTransform.Image = transitionInputMaskImage;
			disintegrateTransition = new CIDisintegrateWithMaskTransition();
			disintegrateTransition.SetDefaults();

			dissolveTransition = new CIDissolveTransition();
			dissolveTransition.SetDefaults();

			flashTransition = new CIFlashTransition();
			flashTransition.SetDefaults();
			flashTransition.Color = new CIColor(NSColor.Black.CGColor);

			modTransition = new CIModTransition();
			modTransition.SetDefaults();

			pageCurlShadowTransition = CIFilter.FromName("CIPageCurlWithShadowTransition");
			pageCurlShadowTransition.SetDefaults();
			pageCurlShadowTransition.SetValueForKey(NSNumber.FromDouble(Math.PI / 4), (NSString) "inputAngle");
			pageCurlShadowTransition.SetValueForKey(grayscaleImage, (NSString) "inputBacksideImage");

			rippleTransition = new CIRippleTransition();
			rippleTransition.SetDefaults();
			rippleTransition.ShadingImage = inputShadingImage;

			swipeTransition = new CISwipeTransition();
			swipeTransition.SetDefaults();

			filterTransition = new CATransition();
			filterTransition.filter = disintegrateTransition;
			filterTransition.Duration = typeTransition.Duration;


//			transitionFilters.Add(barsSwipeTransition);
//			transitionFilters.Add(copyMachineTransition);
//			transitionFilters.Add(disintegrateTransition);
//			transitionFilters.Add(dissolveTransition);
//			transitionFilters.Add(flashTransition);
//			transitionFilters.Add(modTransition);
//			transitionFilters.Add(pageCurlShadowTransition);
//			transitionFilters.Add(rippleTransition);
//			transitionFilters.Add(swipeTransition);
		}