Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5542889
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: C/C++

2011-02-22 14:29:31

首先构造一个字体,我在初始化种构造了一个公共使用的。
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];
}
}
阅读(1280) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~