2015-02-11 75 views
0

我想在iOS Xamarin项目中创建一个模糊效果,我发现了一个示例文章,它有一个很好的解释,似乎是我想要做的,但它是用Objective-C编写。我知道可能有一千种方法可以做到这一点,但我希望有人能够帮助我从文章中翻译这一行,以便我可以继续前进,因为我被卡住了。该生产线是:Translate Objective-C to Xamarin - Blur Image

[NSValue valueWithBytes:&transform objCType:@encode(CGAffineTransform)] 

我不是100%肯定这行确实和NSValue似乎并不具有ValueWithBytes方法,所以我觉得我失去了一些东西。

完整的片段是:

CGAffineTransform transform = CGAffineTransformIdentity; 
CIFilter *clampFilter = [CIFilter filterWithName:@"CIAffineClamp"]; 
[clampFilter setValue:inputImage forKey:@"inputImage"]; 
[clampFilter setValue:[NSValue valueWithBytes:&transform objCType:@encode(CGAffineTransform)] forKey:@"inputTransform"]; 

如果要检讨它列here (4. Blurring the Snapshot - Option 1: Core Image)文章的代码。

非常感谢您的帮助!

回答

3

iOS中8,你可以申请一个blur effect到View这样

var blur = UIBlurEffect.FromStyle (UIBlurEffectStyle.Light); 
var blurView = new UIVisualEffectView (blur) { 
    Frame = new RectangleF (0, 0, imageView.Frame.Width, 400) 
}; 
View.Add (blurView); 

Xamarin也有sample展示如何使用CoreImage应用效果,包括模糊。

+0

嗨贾森 - 这工作完美,很容易。谢谢! – Lereveme 2015-02-11 18:33:17

+0

你是否也知道iOS 7的解决方案? – SimonSimCity 2015-04-01 09:47:59