一:前言

 1.0  :在图片上增加文字,是图片编辑中非常常见的需求。
 1.1 :无demo说话不硬气,上github地址:https://github.com/horisea/PictureWhitening    
           欢迎star,你的星星是我持续创作的动力
二:上一下效果图
下面我们看一下功能: 1.首先文字的颜色是可以换的;
                                   2.文字的大小是可以控制的
                                   3.给定宽度,文字的高度是动态计算的 
                                   4.文字的高度不会超出图片等等。
三:上方法声明
/**图片合成文字@param text            文字@param fontSize        字体大小@param textColor       字体颜色@param textFrame       字体位置@param image           原始图片@param viewFrame       图片所在View的位置@return UIImage **/
+ (UIImage *)imageWithText:(NSString *)texttextFont:(NSInteger)fontSizetextColor:(UIColor *)textColortextFrame:(CGRect)textFrameoriginImage:(UIImage *)imageimageLocationViewFrame:(CGRect)viewFrame;

参数确实多了一点,但是为了更加智能,好用。。我发现一个参数也不能去掉。

四:方法实现
+ (UIImage *)imageWithText:(NSString *)texttextFont:(NSInteger)fontSizetextColor:(UIColor *)textColortextFrame:(CGRect)textFrameoriginImage:(UIImage *)imageimageLocationViewFrame:(CGRect)viewFrame {if (!text)      {  return image;   }if (!fontSize)  {  fontSize = 17;   }if (!textColor) {  textColor = [UIColor blackColor];   }if (!image)     {  return nil;  }if (viewFrame.size.height==0 || viewFrame.size.width==0 || textFrame.size.width==0 || textFrame.size.height==0 ){return nil;}NSString *mark = text;CGFloat height = [mark sizeWithPreferWidth:textFrame.size.width font:[UIFont systemFontOfSize:fontSize]].height; // 此分类方法要导入头文件if ((height + textFrame.origin.y) > viewFrame.size.height) { // 文字高度超出父视图的宽度height = viewFrame.size.height - textFrame.origin.y;}//    CGFloat w = image.size.width;
//    CGFloat h = image.size.height;UIGraphicsBeginImageContext(viewFrame.size);[image drawInRect:CGRectMake(0, 0, viewFrame.size.width, viewFrame.size.height)];NSDictionary *attr = @{NSFontAttributeName: [UIFont systemFontOfSize:fontSize], NSForegroundColorAttributeName : textColor };//位置显示[mark drawInRect:CGRectMake(textFrame.origin.x, textFrame.origin.y, textFrame.size.width, height) withAttributes:attr];UIImage *aimg = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return aimg;
}

最后:github地址里还附带了,图片美白,变灰,旋转,图片合成等方法。。欢迎star啊

如果你喜欢这篇文章,或者有任何疑问,可以扫描第一个二维码,加楼主好友哦

也可以扫第二个二维码,关注楼主个人微信公众号。这里有很多生活,职业,技术相关的文章哦。欢迎您的到来。

微信号:                                             公众号

iOS开发 在图片上添加文字,图片合成文字,图片上添加富文本,美图秀秀,美颜相机文字编辑相关推荐

  1. IOS开发基础之使用AFNetworking框架下载服务器资源图片

    IOS开发基础之使用AFNetworking框架下载服务器资源图片 info.plist加入这句 <key>NSAppTransportSecurity</key> <d ...

  2. 苹果手机怎么在照片上添加文字_手机美图秀秀怎么给图片添加文字

    美图秀秀已经成为我们手机中必不可少的一款软件,这款软件可以使我们每个人都能成为美图大师,今天我们就来迈向大师的第一步,给照片添加文字水印. 工具/原料 美图秀秀软件 手机一部 方法/步骤 1 首先我们 ...

  3. iOS开发系列–打造自己的“美图秀秀”(上)

    iOS开发系列–打造自己的"美图秀秀"(上) 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两 ...

  4. iOS 图片部分模糊,类似于美图秀秀

    代码地址如下: http://www.demodashi.com/demo/14277.html 演示效果 演示效果 代码结构 项目结构截图如下: 该模块的核心源码部分为 MBPartBlurView ...

  5. thinkphp + 美图秀秀api 实现图片裁切上传,带数据库

    思路: 1.数据库 创建test2 创建表img,字段id,url,addtime 2.前台页: 1>我用的是bootstrap 引入必要的js,css 2>引入美图秀秀的js 3.后台: ...

  6. 美图秀秀——在一张图片上加入其它图片

    将图片拖进美图秀秀 将光标放到图片区域 鼠标右键-插入一张图片

  7. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  8. iOS开发系列–打造自己的“美图秀秀”

    原文出处: KenshinCui    概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介 ...

  9. iOS开发系列--打造自己的ldquo;美图秀秀rdquo;

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  10. iOS开发——打造自己的“美图秀秀”

    iOS开发--绘图与滤镜 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quart ...

最新文章

  1. Python学习笔记(2)-Python执行方式、变量
  2. dll文件用什么语言编写_零基础学习markdown标记语言语法,十分简单便捷编写markdown文件...
  3. Dubbox-REST风格
  4. # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod
  5. 微机原理控制转移类指令
  6. 全球撤稿排行榜前10出炉:第一名多到想象不到
  7. FPGA设计——CMOS摄像与HDMI显示(DVP版)
  8. php session传数组,php把数组存到session的方法
  9. ubuntu7.10下配置java 6和mysql
  10. shell中的比较与测试
  11. Kafka面试题总结
  12. 【微信小程序 | 实战开发】开发环境、测试环境和生产环境
  13. pg和MySQL读性能_[评测]低配环境下,PostgresQL和Mysql读写性能简单对比
  14. i5 12490f和i5 12400f的区别
  15. python和java可以一起学吗_python可以和java一起学吗
  16. 21年 河海大学 计算机科学与技术(838) 学硕 上岸心得
  17. 【IEEE期刊专区】这本IEEE旗下期刊中科院升级为1区(TOP),什么来头?(附IEEE在检SCI目录)
  18. Java网络编程(一):五种I/O模型
  19. pytoch中class定义神经网络的参数保存与加载
  20. 基于Linux系统的快速查找方法

热门文章

  1. linux caffe 生成lmdb,Caffe︱构建lmdb数据集与各类文件路径名设置细解
  2. 怎么用imp命令把dmp文件从本地导入到远处的数据库服务器,Oracle 数据库导入导出dmp文件...
  3. JsessionId简介与过滤
  4. abaqus2017安装后启动cae报错_超详细Abaqus2017安装教程
  5. 学习笔记20--自动驾驶测试体系
  6. 二维图像矢量化方法简述
  7. XGBoost算法案例实战—— 金融反欺诈模型
  8. MATLAB绘图——加强篇
  9. 沧小海基于xilinx srio核的学习笔记之第三章 xilinx srio核介绍(三)核配置
  10. [Sensor]BMI160-加速度计、陀螺仪传感器