Chinaunix首页 | 论坛 | 博客
  • 博客访问: 378762
  • 博文数量: 466
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-16 13:59
文章分类

全部博文(466)

文章存档

2015年(466)

我的朋友

分类: C/C++

2015-03-16 14:27:53

首先构造一个字体,我在初始化种构造了一个公共使用的。
UIFont *mFont = [UIFont fontWithName:@"Arial" size:20.0];


我是这样构造绘制内容的 NSString* tstr = [NSString stringWithFormat:@"FPS:%d",mFPS];


然后是绘制,绘制字体的颜色是系统当前设置的颜色
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 0.5);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);


绘制文字
+(void)draw:(CGContextRef) context
String:(NSString*)aString
AtPoint:(CGPoint)aPoint
withFont:(UIFont *)aFont
withMode:(CGTextDrawingMode)aMode
{
CGContextSetTextDrawingMode (context, aMode); // 5

[aString drawAtPoint:aPoint withFont:aFont];
}
这个函数可以自动换行绘制文字
+(void)draw:(CGContextRef) context
String:(NSString*)aString
InRect:(CGRect)aRect
withFont:(UIFont *)aFont
withMode:(CGTextDrawingMode)aMode
{
CGContextSetTextDrawingMode (context, aMode); // 5

[aString drawInRect:aRect withFont:aFont];

}


CGTextDrawingMode 是个不错的东东,可以直接绘制出很多效果的文字

sdk里面有详细的介绍,看一下把。很不错的


这里修改一下我的fps计算函数,可以绘制出fps效果
-(void)caculateFPS:(CGContextRef)context AtPoint:(CGPoint)aPoint Show:(BOOL)aShow
{
CFTimeInterval atime = CFAbsoluteTimeGetCurrent();

float dt = atime - mOldTime;

if(dt >= 1)
{
mFPS = mTmpFPS;
mOldTime = atime;
mTmpFPS = 1;
}else{
mTmpFPS++;
}

if(aShow)
{
//CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 0.5);

CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);

NSString* tstr = [NSString stringWithFormat:@"FPS:%d",mFPS];


[SEImage draw:context
String:tstr
AtPoint:aPoint
withFont:mFont
withMode:kCGTextFill];
}
}
阅读(191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~