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); }
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); }