iPhone: Retina Display пишет шрифт в UIImage
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);
2 ответа
Решение
Когда вы создаете контекст изображения, вы должны вызвать
UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale);
не обычный UIGraphicsBeginImageContext, это будет генерировать контекстно-ориентированное отображение в Retina-дисплее.
Попробуйте округлить координаты, в которых вы отображаете текст. Также проверка кнопки в целом находится на целочисленных смещениях. Если вы размещаете элементы с нецелыми смещениями, iOS с удовольствием перейдет и интерполирует вашу графику, делая вещи "нечеткими".