zoukankan      html  css  js  c++  java
  • IOS图像处理(2)绘制文本

    IOS中可以通过CGContextShowTextAtPoint来绘制文字,但这个方法不支持中文字符,而且在ios7之后也不推荐使用

    我们可以通过NSString的drawAtPoint以及drawInRect实现更加简单的文字绘制

    - (void)drawRect:(CGRect)rect
    {
        //获取图像上下文对象
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextSetRGBStrokeColor(context, 250/255.0, 250/255.0, 250/255.0, 1);
        CGContextSetFillColorWithColor(context, [UIColor greenColor].CGColor);
        CGContextSetShadowWithColor(context, CGSizeMake(1, 1), 3, [UIColor yellowColor].CGColor);
        
        
        //使用填充模式绘制文字
        CGContextSetTextDrawingMode(context,kCGTextFill);
        NSString *str = @"this is a jock";
        [str drawAtPoint:CGPointMake(20, 20) withAttributes:@{NSFontAttributeName:[
                                                                  UIFont fontWithName:@"Arial" size:30],NSForegroundColorAttributeName:[UIColor greenColor]}];
        
        //使用描边模式绘制文字
        CGContextSetTextDrawingMode(context, kCGTextStroke);
        [str drawAtPoint:CGPointMake(20, 70) withAttributes:@{NSFontAttributeName:[
                                                                                   UIFont fontWithName:@"Arial" size:30],NSForegroundColorAttributeName:[UIColor magentaColor]}];
        
        CGContextSetTextDrawingMode(context, kCGTextFillStroke);
        [str drawInRect:CGRectMake(20, 120, 100, 100) withAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Arial" size:30],NSForegroundColorAttributeName:[UIColor redColor]}];
       
    }

    运行结果

  • 相关阅读:
    团队服务器搭建(搭建php环境和安装在线mysql管理工具phpmyadmin)
    游戏交流社区的构思
    脚本实现在线黄金点游戏,支持多用户,不重复,防机器等功能
    LogFilter
    XML
    Java互联网应用和企业级应用的区别
    Java小目标
    JAVA集合类
    黄金点游戏
    WordCount
  • 原文地址:https://www.cnblogs.com/zanglitao/p/4034956.html
Copyright © 2011-2022 走看看