IOS应用开发-图片处理(拉伸图片 创建缩略图 解决图片旋转的问题 图片编码及上传 将图片写入磁盘)
2015-01-21 20:47
1261 查看
在做项目时我们经常要对图片进行一些处理,以达到性能优化或满足需求。常见的情形有以下几种
//http://stackoverflow.com/questions/5427656/ios-uiimagepickercontroller-result-image-orientation-after-upload
拉伸图片
项目中使用的图片素材如果能通过拉伸获得就尽量这样去做。这样做有两个显而易见的好处,一是能够减少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对象
将图片写入磁盘
要将图片存储到本地磁盘中,需要先把图片对象转化为NSData对象,然后调用writeToFile:接口写入
//http://stackoverflow.com/questions/5427656/ios-uiimagepickercontroller-result-image-orientation-after-upload
拉伸图片
项目中使用的图片素材如果能通过拉伸获得就尽量这样去做。这样做有两个显而易见的好处,一是能够减少App安装包的大小,另外一个则是减少App运行时占据的内存空间大小。毕竟App的UI基本上来说是建立在大量的精致的图片上,如果这些图片都一概使用屏幕等大小的图片,那么对App的性能及安装量都是有一定的负面影响的。
对于拉伸图片,适配ios 5及之后可以使用
创建缩略图
如果有一张大图,我们只想要显示它的指定大小的缩略图内容,可以这样做:在UIImage的类别中实现如下方法,调用方法创建缩略图
ios程序中使用系统相机拍照和从相册选取图片,直接上传后在非mac系统下看到的图片会发生旋转的现象,那是因为我们没有通过图片的旋转属性修改图片转向。可以用下面的方法解决这个问题:
有时候我们会需要将图片数据以字符串的形式上传到服务器。在将UIImage对象转化为NSData再转化为NSString的时候,NSString对象中会出现有乱码的情况,这个时候再将NSData转化为NSString之前要编码NSData对象
要将图片存储到本地磁盘中,需要先把图片对象转化为NSData对象,然后调用writeToFile:接口写入
相关文章推荐
- IOS应用开发-图片处理(拉伸图片 创建缩略图 解决图片旋转的问题 图片编码及上传 将图片写入磁盘)
- iOS开发 UIimage旋转,得到旋转后的Image图片,解决imageView旋转,内部图片不跟着旋转问题
- IOS开发 图片的上传和下载(关于编码问题)
- iOS应用开发中图片的拉伸问题解决方案
- 解决ios上传的图片旋转问题
- vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
- vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
- vue之图片上传解决图片压缩和ios拍摄的角度旋转的问题
- iOS 解决图片上传后逆时针旋转90度的问题
- vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
- iOS开发关于上传图片后,图片发生旋转的处理
- iPhone开发笔记(21)iOS 6旋转问题解决方法汇总
- 解决android有的手机拍照后上传图片被旋转的问题
- 一些手机图片压缩处理后会出现旋转问题(三星)的解决方法
- iOS 选取相册图片并裁剪,解决获取图片拉伸问题
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
- 解决android有的手机拍照后上传图片被旋转的问题
- iPhone开发笔记(21)iOS 6旋转问题解决方法汇总
- IOS应用开发-图片处理
- tomcat容器 SSH项目开发 上传图片图片名为中文时不能显示图片问题解决