MonoTouch: двойное изображение Размер изображения при настройке оттенка на дисплее Retina

Я настраиваю фон NavBar с помощью этого кода, который прекрасно работает на дисплеях Retina и не Retina. Существует @ 2x и нормальное изображение. Итак, все хорошо

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

Теперь, когда я применяю этоChangeHue() преобразование в изображение, чтобы настроить его оттенок, на Retina отображает изображение в два раза больше. Нет-Retina дисплеи в порядке:

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

Вот результат на экранах без сетчатки и сетчатки после применения оттенка:

Non-Retina

Retina

Ответы на вопрос(4)

Ваш ответ на вопрос