iOS 图片上传旋转90°
2016-05-05 19:08
357 查看
在做项目时我们经常要对图片进行一些处理,以达到性能优化或满足需求。常见的情形有以下几种
拉伸图片
项目中使用的图片素材如果能通过拉伸获得就尽量这样去做。这样做有两个显而易见的好处,一是能够减少App安装包的大小,另外一个则是减少App运行时占据的内存空间大小。毕竟App的UI基本上来说是建立在大量的精致的图片上,如果这些图片都一概使用屏幕等大小的图片,那么对App的性能及安装量都是有一定的负面影响的。
对于拉伸图片,适配iOS 5及之后可以使用
这个方法只接收一个UIEdgeInsets类型的参数,可以通过设置UIEdgeInsets的top、left、bottom、right来分别指定上端盖高度、左端盖宽度、下端盖高度、右端盖宽度。这个端盖的距离值是用单位pt(点,point)衡量的,在普通显示屏中,1pt = 1pix;在retina显示屏中,1pt = 2pix。还有一个需要注意的地方,如果端盖距离值不是整数的话,拉伸后的图片会有白条细线。
创建缩略图
如果有一张大图,我们只想要显示它的指定大小的缩略图内容,可以这样做:在UIImage的类别中实现如下方法,调用方法创建缩略图
解决图片旋转的问题
ios程序中使用系统相机拍照和从相册选取图片,直接上传后在非mac系统下看到的图片会发生旋转的现象,那是因为我们没有通过图片的旋转属性修改图片转向。可以用下面的方法解决这个问题:
图片编码及上传
有时候我们会需要将图片数据以字符串的形式上传到服务器。在将UIImage对象转化为NSData再转化为NSString的时候,NSString对象中会出现有乱码的情况,这个时候再将NSData转化为NSString之前要编码NSData对象
拉伸图片
项目中使用的图片素材如果能通过拉伸获得就尽量这样去做。这样做有两个显而易见的好处,一是能够减少App安装包的大小,另外一个则是减少App运行时占据的内存空间大小。毕竟App的UI基本上来说是建立在大量的精致的图片上,如果这些图片都一概使用屏幕等大小的图片,那么对App的性能及安装量都是有一定的负面影响的。
对于拉伸图片,适配iOS 5及之后可以使用
创建缩略图
如果有一张大图,我们只想要显示它的指定大小的缩略图内容,可以这样做:在UIImage的类别中实现如下方法,调用方法创建缩略图
ios程序中使用系统相机拍照和从相册选取图片,直接上传后在非mac系统下看到的图片会发生旋转的现象,那是因为我们没有通过图片的旋转属性修改图片转向。可以用下面的方法解决这个问题:
有时候我们会需要将图片数据以字符串的形式上传到服务器。在将UIImage对象转化为NSData再转化为NSString的时候,NSString对象中会出现有乱码的情况,这个时候再将NSData转化为NSString之前要编码NSData对象
相关文章推荐
- ios图片处理相关问题
- iOS利用Runtime自定义控制器POP手势动画
- iOS ftp上传文件
- iOS开发-由浅至深学习block
- 有关iOS学习方法拙见
- iOS run loop(NSRunLoop)和线程的一些需要注意的细节
- iOS 图片捏合放大缩小 点击放大缩小
- IOS 数组去重的几种方式
- Storyboard imageview 加tableview
- iOS每日一记——————————iOS开发当中的一些技巧
- iOS中利用 runtime 一键改变字体
- iOS 在价格数字中插入分隔符,逗号,点之类的方法和代码
- iOS指定位置拉扯图片
- iOS字符串替换,字符插入,字符删除
- iOS开发动画(Animation)图片360度不停旋转
- iOS的枚举
- iOS中atomic 与 nonatomic,assign,copy与retain的定义和区别
- iOS获取当前年、月、日等信息
- tableView的系统删除和点击删除
- IOS 杂笔-19(属性与变量的优缺点)