zoukankan      html  css  js  c++  java
  • ios之字符串生成图片

    - (void)viewDidLoad

    {

        [superviewDidLoad];

        

        NSString *aa = @"        aaaaaaaaaa "

        "             bbbbbbbbbbb "

        "          ccccccccccccc 12345 "

        " "

        "Date: MM/DD/YYYY         Time:HH:MM PM "

        "-------------------------------------- "

        "eeee "

        "ffffff            ggggggggn       Total "

        "hhhhh      iiiiiiiiiii     11.11 "

        "ggggg      kkkkkkkkkk       22.22 "

        "lllll      mmmmmmmmmm        33.33 "

       ;

        

        

        int width = 576;

        

        NSString *fontName = @"Courier";

        

        double fontSize = 35.0;

        

        //  fontSize *= multiple;

        fontSize *= 2;

        

        UIFont *font = [UIFont fontWithName:fontName size:fontSize];

        

        CGSize size = CGSizeMake(width, 10000);

        CGSize messuredSize = [aa sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];

    if ([[UIScreenmainScreen] respondsToSelector:@selector(scale)]) {

    if ([[UIScreenmainScreen] scale] == 2.0) {

    UIGraphicsBeginImageContextWithOptions(messuredSize, NO, 1.0);

    }

            else {

    UIGraphicsBeginImageContext(messuredSize);

    }

    }

        else {

    UIGraphicsBeginImageContext(messuredSize);

    }

        

        CGContextRef ctr = UIGraphicsGetCurrentContext();

        UIColor *color = [UIColorwhiteColor];

        [color set];

        

        CGRect rect = CGRectMake(0, 0, messuredSize.width + 1, messuredSize.height + 1);

        CGContextFillRect(ctr, rect);

        

        color = [UIColorblackColor];

        [color set];

        

        [aa drawInRect:rect withFont:font lineBreakMode:UILineBreakModeWordWrap];

        UIImage *imageToPrint = UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();

        

        

        

        NSData *imageData = UIImagePNGRepresentation(imageToPrint);

        NSArray *documents1 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        // 设置保存文件名称

        NSString *path1 = [documents1[0] stringByAppendingPathComponent:kImageFileName];

        // 保存文件

          NSLog(@"%@", path1);

         NSLog(@"沙盒的路径为:%@",[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]);

        [imageData writeToFile:path1 atomically:YES];

    }

  • 相关阅读:
    Scrapy的架构与原理的理解【转】
    Scrapy框架的命令行详解【转】
    WPF 程序中启动和关闭外部.exe程序
    C++ 二维数组(双重指针作为函数参数)
    C++ 遇见的一些函数
    C++ #pragma 预处理指令
    C++异常处理(Exception Handling)
    C++模板学习随笔
    C++ 数组的地址问题学习随笔
    关于C++几个容易混淆的概念总结
  • 原文地址:https://www.cnblogs.com/changxs/p/3669592.html
Copyright © 2011-2022 走看看