iOS开发之绘制文本内容

在图片上绘制出 文本的效果,可用以下代码:

- ( 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();

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值