图片通过压 ;缩 转换成base64上传到服务器
2016-01-28 11:25
253 查看
通常 一个开发团队 里会有安卓 和iOS 两个做移动端的.但是 安卓的内存 会因为图片质量过大导致数据溢出(当然也有其解决办法), 所以在一些 上传图片到服务器的时候 ,要考虑到 除了你iOS以外的弟兄们. 所以要把上传的图片处理一下
//
图片的压缩其实是俩概念,
// 1、是 “压”
文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降,
// 2、是 “缩”
文件的尺寸变小,也就是像素数减少。长宽尺寸变小,文件体积同样会减小。
UIImageJPEGRepresentation(image, 0.35); //是1的功能。
// [ima drawInRect:CGRectMake(0,0,kScreenWidth, kScreenHeight)]; //是2的功能。
//所以,这俩你得结合使用来满足需求,不然你一味的用1,导致,图片模糊的不行,但是尺寸还是很大。
[self.imageButton setImage:ima forState:UIControlStateNormal];
UIImageExt *ext = [[UIImageExt alloc] init];
ima = [ext imageByScalingAndCroppingForSize:CGSizeMake(300, 240) WithImage:ima];
//图片转换成data
NSData *imageData = UIImageJPEGRepresentation(ima, 0.5);
NSString *picstr = [NSString stringWithFormat:@"%@", [imageData base64EncodedStringWithOptions:0]];
//
图片的压缩其实是俩概念,
// 1、是 “压”
文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降,
// 2、是 “缩”
文件的尺寸变小,也就是像素数减少。长宽尺寸变小,文件体积同样会减小。
UIImageJPEGRepresentation(image, 0.35); //是1的功能。
// [ima drawInRect:CGRectMake(0,0,kScreenWidth, kScreenHeight)]; //是2的功能。
//所以,这俩你得结合使用来满足需求,不然你一味的用1,导致,图片模糊的不行,但是尺寸还是很大。
[self.imageButton setImage:ima forState:UIControlStateNormal];
UIImageExt *ext = [[UIImageExt alloc] init];
ima = [ext imageByScalingAndCroppingForSize:CGSizeMake(300, 240) WithImage:ima];
//图片转换成data
NSData *imageData = UIImageJPEGRepresentation(ima, 0.5);
NSString *picstr = [NSString stringWithFormat:@"%@", [imageData base64EncodedStringWithOptions:0]];
相关文章推荐
- 信息战(一)——加密程序
- spring4整合mybatis3
- js 事件监听 兼容浏览器
- Emacs显示光标在哪个函数
- JVM内存模型
- Java后台发送Post和get请求 (并解决返回值乱码问题)
- 根据NSString 转化为 NSDate , 进而根据NSDate 计算年龄
- javascript中有趣的面向对象的思想
- PowerDesinger 安装打印机
- 表单元素之搭车系
- Unity 5.3.1 No Android/IOS module loaded
- [原创][SW]一些实用软件的小tips(长期更新)
- wp已死,metro是罪魁祸首!
- Mahout(一):数据承载
- cocoapods 安装使用
- Spring Boot application.properties或application.yml相关配置
- VMware Workstation出现“内部错误”的解决办法
- 编写可读代码的艺术chapter 1-6
- Android手机拍照或选取图库图片作为头像
- HBase总结(二十)HBase经常使用shell命令具体说明