您的位置:首页 > 移动开发 > IOS开发

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:接口写入
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: