1

作为我使用外观设置的一部分,我正在更改 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;

我已经测试在应用程序生命周期的不同时间设置它,但它似乎总是立即被拆除。

4

2 回答 2

1

感谢您填写错误报告崩溃是由于FromContext中的无限递归造成的。但是,这不会解决您原来的问题,因为暴露的 API 在 iOS 中不存在(它是特定于 OSX 的)。

于 2012-08-07T13:55:03.783 回答
0

不知道我是否理解你想要做什么,但这里有一些代码可以改变图像的色调: https ://stackoverflow.com/a/11762982/1560797

我猜你使用的方法是 Monotouch 中的一个错误。我自己在演示应用程序中尝试过它,它会在我的设备上生成崩溃报告。(我对阅读崩溃日志不是很熟悉,所以不知道到底发生了什么)请在 xamarin 报告

于 2012-08-05T13:29:43.647 回答