将 Objective-C 翻译成 Xamarin - 模糊图像
Translate Objective-C to Xamarin - Blur Image
我正在尝试在 iOS Xamarin 项目中创建模糊效果,我发现一篇示例文章有很好的解释,似乎是我想做的,但它写在 Objective-C。我知道可能有上千种方法可以做到这一点,但我希望有人能帮我翻译文章中的这一行,这样我就可以继续前进,因为我被困住了。该行是:
[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)。
非常感谢您的帮助!
在 iOS 8 中,您可以像这样将 blur effect 应用于视图
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 应用效果,包括模糊。
我正在尝试在 iOS Xamarin 项目中创建模糊效果,我发现一篇示例文章有很好的解释,似乎是我想做的,但它写在 Objective-C。我知道可能有上千种方法可以做到这一点,但我希望有人能帮我翻译文章中的这一行,这样我就可以继续前进,因为我被困住了。该行是:
[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)。
非常感谢您的帮助!
在 iOS 8 中,您可以像这样将 blur effect 应用于视图
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 应用效果,包括模糊。