您的位置:首页 > 移动开发 > IOS开发

iOS开发之绘制文本内容

2015-12-23 22:17 393 查看
在图片上绘制出 文本的效果,可用以下代码:

- ( UIImage *)createShareImage:(NSString *)str
{
UIImage *image = [UIImage
imageNamed:@"1.jpg"];

CGSize size=CGSizeMake(image.size.width,image.size.height);//
画布大小

UIGraphicsBeginImageContextWithOptions(size,NO ,
0.0 );

[image drawAtPoint :CGPointMake (0,0)];

// 获得一个位图图形上下文

CGContextRef context=UIGraphicsGetCurrentContext ();

CGContextDrawPath (context,kCGPathStroke );

// 绘制文本

[str drawAtPoint :CGPointMake (30 ,image.size.height
*0.55) withAttributes :@{
NSFontAttributeName :[UIFont
fontWithName :@"Arial-BoldMT"
size :40 ],NSForegroundColorAttributeName :[UIColor
whiteColor ]} ];

// 绘制的新图形
UIImage *newImage=UIGraphicsGetImageFromCurrentImageContext ();

UIGraphicsEndImageContext ();
//返回你的图形
return newImage;
}
效果如下:



有时候需要截屏的效果代码如下 :

//点击屏幕出发事件:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
// 1.开启图形上下文
CGSize imageSize =
self.view.bounds.size;
UIGraphicsBeginImageContextWithOptions(imageSize,
NO, 0.0);

// 2.将某个view的所有内容渲染到图形上下文中
CGContextRef context =
UIGraphicsGetCurrentContext();
[self.view.layer
renderInContext:context];

// 3.取得图片
UIImage *image =
UIGraphicsGetImageFromCurrentImageContext();

CGImageRef subimageRef =
CGImageCreateWithImageInRect(image.CGImage,
CGRectMake(0,
0, 640,
480));
UIImage *subImage = [UIImage
imageWithCGImage:subimageRef];
[UIImagePNGRepresentation(subImage)
writeToFile:@"/Users/apple/Desktop/view.png"
atomically:YES];

// 4.关闭上下文
UIGraphicsEndImageContext();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: