我在FinishedLaunching()中更改图像的色调,这是我使用外观设置的一部分。当我尝试获取CIContext时,该应用程序将崩溃而没有任何崩溃信息。
以下是代码:
var hueAdjust = new CIHueAdjust() {
Image = CIImage.FromCGImage(originalImage.CGImage),
Angle = hue * (float)Math.PI / 180f // angles to radians
};
var output = hueAdjust.OutputImage;
UIImage retVal = null;
UIGraphics.BeginImageContextWithOptions(originalImage.Size, false, 0);
using (var c = UIGraphics.GetCurrentContext ())
{
//****This next line causes the crash*******
var context = CIContext.FromContext(c);
var cgimage = context.CreateCGImage(output, output.Extent);
retVal = UIImage.FromImage(cgimage);
}
UIGraphics.EndImageContext();
return retVal;
我已经测试过在应用生命周期的不同时间设置此功能,但它似乎总是立即降低。
答案 0 :(得分:1)
感谢您填写bug report。崩溃是由于FromContext中无休止的递归造成的。但是,这不会解决您的original problem,因为iOS中不存在公开的API(特定于OSX)。
答案 1 :(得分:0)
不知道我是否理解你要做的事情,但这里有一些代码可以改变图像的色调: https://stackoverflow.com/a/11762982/1560797
我猜你使用的方法是Monotouch中的一个错误。我自己在一个演示应用程序中尝试过它,它会在我的设备上生成崩溃报告。 (我对阅读崩溃日志并不熟悉,所以不知道到底发生了什么) 请在xamarin报告