使用CGContextShowTextAtPoint在图像上书写后的像素化文本

时间:2012-03-10 11:31:20

标签: ios cgcontext

我正在使用以下方式写一个图像:

float shadowColorValues[] = {0, 0, 0, .3};
CGContextSetShadowWithColor(context, CGSizeMake (2, -2), 3 * imageScale, shadowColor);

CGContextSelectFont(context, newFontName, fontSize, kCGEncodingMacRoman);
CGContextSetRGBFillColor(context, 255, 255, 255, 1);
CGContextSetRGBStrokeColor(context, 255, 255, 255, 1);

CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetTextMatrix(context, CGAffineTransformMake(1.0, 0.0, 0.0, 1.0, 0.0, 0.0));
CGContextShowTextAtPoint(context, textX, textY, newText, strlen(newText));

如果我使用像Chalkduster这样的字体,结果会非常像素化:http://i.imgur.com/WooNB.png。我做错了什么?

1 个答案:

答案 0 :(得分:1)

确保使用

void UIGraphicsBeginImageContextWithOptions(
 CGSize size,
 BOOL opaque,
 CGFloat scale // pass 0 for screen scale
);

创建图像上下文时。