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 に答える