1. 由于在应用中有分享微博功能,文字较长时需要截断,导致不完整,所以必须自动转成图片,发长微博来解决问题。先将方法分享如下,以下方法经过实际应用,没有问题。
  2. #define CONTENT_MAX_WIDTH   300.0f
  3. +(UIImage *)imageFromText:(NSArray*) arrContent withFont: (CGFloat)fontSize
  4. {
  5. // set the font type and size
  6. UIFont *font = [UIFont systemFontOfSize:fontSize];
  7. NSMutableArray *arrHeight = [[NSMutableArray alloc] initWithCapacity:arrContent.count];
  8. CGFloat fHeight = 0.0f;
  9. for (NSString *sContent in arrContent) {
  10. CGSize stringSize = [sContent sizeWithFont:font constrainedToSize:CGSizeMake(CONTENT_MAX_WIDTH, 10000) lineBreakMode:UILineBreakModeWordWrap];
  11. [arrHeight addObject:[NSNumber numberWithFloat:stringSize.height]];
  12. fHeight += stringSize.height;
  13. }
  14. CGSize newSize = CGSizeMake(CONTENT_MAX_WIDTH+20, fHeight+50);
  15. UIGraphicsBeginImageContextWithOptions(newSize,NO,0.0);
  16. CGContextRef ctx = UIGraphicsGetCurrentContext();
  17. CGContextSetCharacterSpacing(ctx, 10);
  18. CGContextSetTextDrawingMode (ctx, kCGTextFillStroke);
  19. CGContextSetRGBFillColor (ctx, 0.1, 0.2, 0.3, 1); // 6
  20. CGContextSetRGBStrokeColor (ctx, 0, 0, 0, 1);
  21. int nIndex = 0;
  22. CGFloat fPosY = 20.0f;
  23. for (NSString *sContent in arrContent) {
  24. NSNumber *numHeight = [arrHeight objectAtIndex:nIndex];
  25. CGRect rect = CGRectMake(10, fPosY, CONTENT_MAX_WIDTH , [numHeight floatValue]);
  26. [sContent drawInRect:rect withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentLeft];
  27. fPosY += [numHeight floatValue];
  28. nIndex++;
  29. }
  30. // transfer image
  31. UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
  32. UIGraphicsEndImageContext();
  33. [arrHeight release];
  34. return image;
  1. }
ps:参数为什么要用NSArray?由于大段文字里面有各种语言,有些语言需要从右向左显示,所以在程序处理时可以进行判断,然后进行处理。为简化程序,本人将该部分代码删除掉了。

IOS下将文字转成图片方法相关推荐

  1. IOS-将长文字转化成图片方法

    我们在看微博时,会看到一些长图片上的显示文章,现在就介绍下如何实现.分析下还是很简单的,总结如下:1.计算文字区域的高 2.利用UIGraphics图形上下文方法来实现 3.验证方法:UIImageW ...

  2. iOS 文字转化成图片

    //文字转化成图片 -(UIImage *)imageFromText:(NSArray*)arrContent withFont:(CGFloat)fontSize withTextColor:(U ...

  3. 想把文字转成图片?文字转图片制作软件哪个好用?

    现在社交媒体的使用越来越普及,为了让自己的内容更加吸引人,文字转成图片已经成为了一种流行的方式.那么,小伙伴在日常生活中是否有了解过文字转图片技术呢?接下来在这篇文章中,我将为大家介绍文字转图片制作软 ...

  4. 二、文字转成图片,图片上写字

    文字转成图片: from PIL import Image,ImageDraw,ImageFont def text2Image(self):text = u"这是一段测试文本,test 1 ...

  5. 使用text2image将文字转换成图片

    text2image是一款将文字转换成图片的工具 官网:http://www.text2image.com/pit_t2i/saver 在做tesseract图片识别时需要基础数据采样 文档参考: h ...

  6. PS里面不改变背景的情况下去掉文字的几种方法

    Photoshop 去掉图片上的文字的几个方法 1.使用仿制图章工具去除文字. 这是比较常用的方法.具体的操作是,选取仿制图章工具,按住 Alt键,在无文字区域点击相似的色彩或图案采样, 然后在文字 ...

  7. 使用的是html5的canvas将文字转换成图片

    当前功能的运用场景是:用户需要传文件给他人,在用户选择文件之后需要显示一个文件图标和所选文件的名称. 当前代码部分是摘自网上,但是已经忘记在什么地方获取的,如有侵权联系小弟后自当删除. 注意:必须在h ...

  8. Sketch如何将文字转成图片或轮廓

    前言 Sketch是目前很流行的作图工具,个人觉得比PS的门槛要低很多.最近在做一个UI的设计,需要将文字和图片合并在一起输出,由于我是一个半吊子的UI,所以弄起来还是费了不少劲. 步骤 步骤1 对着 ...

  9. 前端使用canvas实现昵称首个文字转换成图片功能

    最近在用腾讯会议的时,看到要是没有设置自定义头像时会有个默认头像,就是昵称的第一个字母.上班摸鱼时突然想用原生的画布实现这个功能. canvas有能够转换成bas64的功能,说以直接写js代码就行,直 ...

最新文章

  1. 石川es6课程---1-2、ES6简介
  2. 3.9 训练一个 Softmax 分类器-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  3. akae-arm9异常
  4. java求s a aa aaa_Java求s=a+aa+aaa+aaaa+aa...a的值
  5. python绘制繁花曲线代码_使用python和pygame绘制繁花曲线的方法
  6. python分支结构说课_Python_3.8平台上的分支结构(模块.类.函数)_11
  7. JavaScript实现常见的数据结构
  8. 笔记随笔1(webpack,vue-router,vuex)
  9. 程序员面试金典——4.3高度最小的BST
  10. Pig 实现关键词匹配
  11. html中hover的作用,hover在css中的用法
  12. detach()函数的用法
  13. Faster:一个高效就地更新的并发键值存储
  14. 如何给玩偶建模并让它跳个舞?
  15. 英语单词词根词缀和词性转换
  16. 微课程学习平台(微课平台)-特色功能(移动学习解决方案)
  17. 电子商务顾客评论的热点话题分析(转)
  18. 科技型中小企业认定条件和好处
  19. 2022强大的修复版趣味心理测试小程序源码,趣味测试引流裂变神器,流量主激励广告实现管道收益
  20. linux查找代码cd文件夹,Linux fing cd 查找文件/文件夹并进入目录命令

热门文章

  1. 办公室琐事--沟通、交流
  2. 实现Windows XP多用户远程登录
  3. linux系统源配置(根据自己理解编写,不当之处,敬请指教)
  4. improve php,解析提高PHP执行效率
  5. php localtion,详解Nginx Location配置
  6. 科大星云诗社动态20210816
  7. 科学前进的车轮永不停歇 2018-04-28
  8. python处理rgb_如何在Python中读取给定像素的RGB值?
  9. openCV视频处理与图像转换
  10. Win7下快速预览各种类型的文本文件