iPhone: Retina Display пишет шрифт в UIImage - PullRequest
3 голосов
/ 16 февраля 2012

Objective-C Ответы в порядке, я использую MonoTouch для справки.

Я пишу текст поверх UIImage.Retina отображает шрифт прерывисто.Выглядит пиксель удвоенным, что, я думаю, и происходит.Как я могу получить четкий шрифт, написанный на UIImage?

 //context is a CGBitmapContext

 context.SetFillColor (color.CGColor);
 context.SelectFont (font.Name, font.PointSize, CGTextEncoding.MacRoman);

 context.SetTextDrawingMode (CGTextDrawingMode.Fill);
 context.ShowTextAtPoint (pt.X, pt.Y, text);

enter image description here

Ответы [ 2 ]

6 голосов
/ 16 февраля 2012

когда вы создаете контекст изображения, вы должны вызывать

UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale);

, а не обычный UIGraphicsBeginImageContext, это сгенерирует отображение с поддержкой контекста в Retina display.

1 голос
/ 16 февраля 2012

Попробуйте округлить координаты, в которых вы отображаете текст. Также проверка кнопки в целом находится на целочисленных смещениях. Если вы размещаете элементы с нецелыми смещениями, iOS с удовольствием перейдет и интерполирует вашу графику, делая вещи «нечеткими».

...