`
lizhuang
  • 浏览: 904293 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UIImage变为NSData并进行压缩

 
阅读更多
//sdk中提供了方法可以直接调用

UIImage *img = [UIImage imageNamed:@"some.png"];

NSData *dataObj = UIImageJPEGRepresentation(img, 1.0); 



//下面是sdk中UIImage.h头文件中的内容

UIKIT_EXTERN NSData *UIImagePNGRepresentation(UIImage *image);

// return image as PNG. May return nil if image has no CGImageRef or invalid bitmap format

UIKIT_EXTERN NSData *UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality);

  // return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least)



JPEG的转换方法里面第二个参数是压缩系数,可以有效的减小图片的大小。UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的图片数据量大很多。项目中做图片上传之前,经过测试同一张拍照所得照片png大小在8M,而JPG压缩系数为0.75时候,大小只有1M。而且,将压缩系数降低对图片视觉上并没有太大的影响。
分享到:
评论

相关推荐

    NSData 与 NSString,Byte数组,UIImage 的相互转换

    总之,理解并熟练掌握`NSData`、`NSString`以及`UIImage`之间的转换,是iOS和macOS开发中的基本技能,能有效提升代码的灵活性和可维护性。在具体项目中,应根据实际情况选择合适的转换方式,确保数据处理的准确性和...

    ios-YBUploadView 上传图片.zip

    图片选择上传 并显示 支持 UIImage NSString NSData 三种类型的图片 一句代码都不用写 直接在Xib中拖一个View 就行了 xib设置maxCount editEnabled属性 快速集成 /** UIImage NSString NSData */ @property ...

    iOS开发之image图片压缩及压缩成指定大小的两种方法

    - (NSData *)compressOriginalImage:(UIImage *)image toMaxDataSizeKBytes:(CGFloat)size{ NSData * data = UIImageJPEGRepresentation(image, 1.0); CGFloat dataKBytes = data.length/1000.0; CGFloat ...

    iOS图片压缩---UIImage+Wechat

    UIImage+Wechat 是一个专门用于图片压缩的优秀框架,旨在帮助开发者有效地减小图片的大小,同时保持较高的图像质量。这个框架在处理图片时,不仅关注压缩比例,还着重于保持图片的像素质量,以避免过多的图像失真。 ...

    OC Extension UIImage+FHXImage(图片扩展).zip

    OC Extension UIImage+FHXImage(图片扩展) 针对UIImage进行封装的工具类。 /** 输入图片颜色返回一张图片 */ + (UIImage *)createImageWithColor:(UIColor *)color; /** 裁切图片的一个点进行延伸 */ - ...

    iOS图片压缩demo.zip

    在iOS中,图片通常以UIImage对象存在,而为了进行压缩,我们需要将其转换为NSData。UIImage可以使用`UIImageJPEGRepresentation`或`UIImagePNGRepresentation`方法转化为NSData,分别对应JPEG和PNG格式。这两个方法...

    iOS 录制视频流 转uiimage

    在iOS开发中,录制视频流并将其转换为UIImage是一项常见的需求,这通常涉及到多媒体处理、图形编程以及实时渲染等技术。下面将详细讲解这个过程涉及的知识点。 首先,我们需要了解如何在iOS上进行实时视频录制。...

    UIImage-PDF.zip

    在iOS开发中,`UIImage`类是用于处理和显示图像的核心类,但默认情况下它并不支持PDF文档的显示。为了扩展`UIImage`的功能,开发者通常会创建分类(Category)来添加新的方法。`UIImage-PDF`就是这样一个Objective-C...

    UIImage+ImageEffects

    `UIImage+ImageEffects` 提供了对图片进行模糊处理的功能,这在iOS应用中常常用于创建背景模糊、视差效果或者某些特定UI元素的美学设计。这个类扩展了系统自带的`UIImage`类,添加了自定义的模糊效果方法,使得...

    WebP-UIImage-源码.rar

    WebP格式的优势在于它采用了先进的压缩技术,包括有损和无损两种模式。有损模式下,WebP可以通过更高效的编码算法减少文件大小,同时保持可接受的图像质量。无损模式则可以确保原始数据不被改变,适合需要精确图像的...

    UIImage+Sprite+Animmation

    在iOS开发中,`UIImage`是苹果提供的一个关键类,用于处理和显示图像。这个类扩展了`UIImage`,增加了精灵(Sprite)和动画功能,让开发者能够更灵活地创建和控制游戏或应用中的动态图像。`UIImage+Sprite+Additions...

    UIIMage 改变颜色和遮罩

    当你需要对图片进行颜色调整或添加遮罩效果时,可以利用UIKit框架中的各种方法和属性来实现。下面将详细介绍如何改变UIImage的颜色以及如何应用遮罩。 1. 改变UIImage颜色: - 使用`UIImageRenderingMode....

    ios应用源码之转换iphonepng图片为标准格式src 20181210

    首先,通过NSData的`+dataWithContentsOfFile:`方法读取PNG文件,然后用UIImage的`+imageWithData:`方法创建UIImage对象。接着,可以使用`CGImageSourceCreateWithData`和`CGImageDestinationCreateWithData`等Core ...

    仿朋友圈发图片

    iOS中,我们可以用NSData的write(to:options:)方法将UIImage转换为NSData,再通过设置quality来压缩JPEG或PNG。 最后,将压缩后的图片上传到服务器。通常我们会使用HTTP或HTTPS请求,如Android的HttpURLConnection...

    UIImage-ImageCompress:一个iOS库,用于压缩图像和优化上传

    UIImage + ImageCompress是一个UIImage类别,可压缩本地或远程UIImage 安装 使用安装 pod 'UIImage+ImageCompress' 用法 UIImage *imageToCompress = [UIImage imageNamed:@"theJoker.jpg"]; UIImage *...

    IOS 反射属性 自动插入到数据库 读取 修改 删除(New)

    UIImage 转为 NSData 以 bytes 模式 直接插入到 数据库 正在做 可设置模式 数据库保存图片名称 图片放在document 目录下 NSData 目前也是 直接插入到数据库 后面可能会跟图片一样处理 数据库 只保存名称 ...

    swift-给UIView或UIImage高性能添加圆角生成渐变色图片等

    在Swift编程语言中,对UIView或UIImage进行高性能的圆角处理和生成渐变色图片是常见的图像操作。这些操作在用户界面设计中尤其重要,因为它们可以提升应用的视觉效果和用户体验。以下将详细介绍如何实现这些功能。 ...

    ios UIImage category 图片加载

    NSData *data = [NSData dataWithContentsOfFile:path options:NSDataReadingUncached error:nil]; UIImage *image = [UIImage imageWithData:data]; return image; } @end ``` 这个`imageWithFileNamed:`方法...

    WebP-UIImage:用于在 iOS 中处理 WebP 图像文件的 UIImage 类别

    导入框架#import "UIImage+WebP.h"并调用以下方法: - ( NSData *)dataWebPWithQuality:( float )quality; // quality = 0..100 + (UIImage*)imageWithWebPAtPath:( NSString *)filePath; + (UIImage *)...

Global site tag (gtag.js) - Google Analytics