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();
}
- ( 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();
}
相关文章推荐
- iOS9 getting error “an ssl error has occurred and a secure connection to the server cannot be made”
- iOS之触摸事件和手势
- iOS9适配总结
- iOS通讯录开发
- [转] iOS --- 基于面向协议MVP模式下的软件设计
- iOS --- 使用CADisplayLink来实现定时任务
- (NO.00005)iOS实现炸弹人游戏(三):从主场景类谈起
- (NO.00005)iOS实现炸弹人游戏(三):从主场景类谈起
- (NO.00005)iOS实现炸弹人游戏(三):从主场景类谈起
- iOS:ABPeoplePickerNavigationController系统通讯录使用
- iOS开发~CocoaPods使用详细说明
- iOS完全自学手册——[一]Ready?No!
- IOS开发之MapKit学习笔记
- IOS学习 CGContextRef学习
- IOS沙盒中的四个文件夹解析
- IOS如何创建视频缩略图片
- iOS中plist的创建,数据写入与读取
- ios条形码扫描技术
- ios开发 向右滑动手势实现返回 -- @ShinePug
- 30多个iOS常用动画,带详细注释(转)