MonoTouch: Podwojenie wyglądu Rozmiar obrazu, gdy odcień jest regulowany na wyświetlaczu Retina

Ustawiam tło NavBar za pomocą tego kodu, który działa doskonale na ekranach Retina i innych niż Retina. Jest obraz @ 2x i normalny. Więc wszystko w porządku:

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

Teraz, kiedy to zastosujęChangeHue() transformacja do obrazu w celu dostosowania jego odcienia, na wyświetlaczach Retina obraz jest dwa razy większy. Wyświetlacze inne niż Retina są w porządku:

    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;
}

Oto wynik na ekranach innych niż siatkówka i siatkówka po zastosowaniu odcienia:

questionAnswers(4)

yourAnswerToTheQuestion