MonoTouch: Bildgröße verdoppeln, wenn der Farbton auf dem Retina-Display angepasst wird

Ich stelle den NavBar-Hintergrund mit diesem Code ein, der in Retina- und Nicht-Retina-Displays hervorragend funktioniert. Es gibt ein @ 2x und normales Bild. Also alles gut:

UINavigationBar.Appearance.SetBackgroundImage(
     GetImage(ImageTheme.menubar), UIBarMetrics.Default);

Nun, wenn ich das anwendeChangeHue() Transformation auf das Bild, um seinen Farbton anzupassen, auf Retina-Displays ist das Bild doppelt so groß. Nicht-Retina-Displays sind in Ordnung:

    UINavigationBar.Appearance.SetBackgroundImage(
       ChangeHue(GetImage(ImageTheme.menubar)), UIBarMetrics.Default);
    ...

    UIImage ChangeHue(UIImage originalImage){
        var hueAdjust = new CIHueAdjust() {
            Image = CIImage.FromCGImage(originalImage.CGImage),
            Angle = hue * (float)Math.PI / 180f // angles to radians
        };

        var output = hueAdjust.OutputImage;
        var context = CIContext.FromOptions(null);
        var cgimage = context.CreateCGImage(output, output.Extent);
        var i = UIImage.FromImage(cgimage);
        return i;
}

Hier ist das Ergebnis in Nicht-Retina- und Retina-Anzeigen, nachdem der Farbton angewendet wurde:

Antworten auf die Frage(4)

Ihre Antwort auf die Frage