UIImageJPEGRepresentation方法在耗时上比较少 而UIImagePNGRepresentation耗时操作时间比较长 -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 使用UIImagePNGRepresentation取得照片时候可能会造成卡顿的现象 在Iphone上有两种读取图片数据的简单方法:…
理解概念 首先,我们必须明确图片的压缩其实是两个概念: “压” 是指文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降. “缩” 是指文件的尺寸变小,也就是像素数减少,而长宽尺寸变小,文件体积同样会减小. 图片“压”处理 对于“压”的功能,我们可以使用UIImageJPEGRepresentation或UIImagePNGRepresentation方法实现,如:   1 2 3   NSData *imgData = UIImageJPEGRepresentation(image,…
UIImageView 制作气泡 stretchableImageWithLeftCapWidth http://blog.csdn.net/justinjing0612/article/details/8751269 1.图片缓存 使用第三方库: SDWebImage UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )]; [imageView setImageWithURL:[NSURL…
简介 在iPhone OS 3.0之后,用户可以在一个应用程序上拷贝文本.图像.或其它数据,然后粘贴到当前或其它应用程序的不同位置上.比如,您可以从某个电子邮件中拷贝一个地址,然后粘贴到Contacts程序的地址域中.目前,UIKit框架在UITextView.UITextField.和UIWebView类中实现了拷贝-剪切-粘贴支持.如果您希望在自己的应用程序中得到这个行为,可以使用这些类的对象,或者自行实现. 但在iOS7.0后,UIPasteboard由共享变为沙盒化了,UIPastebo…
序言--感谢好心大神分享 Kingfisher 是由 @onevcat 编写的用于下载和缓存网络图片的轻量级Swift工具库,其中涉及到了包括GCD.Swift高级语法.缓存.硬盘读写.网络编程.图像编码.图形绘制.Gif数据生成和处理.MD5.Associated Objects的使用等大量iOS开发知识. 本文将详尽的对所涉及到的知识点进行讲解,但由于笔者水平有限,失误和遗漏之处在所难免,恳请前辈们批评指正. 一.Kingfisher的架构 Kingfisher.png Kingfisher…
ALAsset类代表相册中的每个资源文件,可以通过它获取照片的相关信息,及其对应的原图,全屏图,缩略图等. 当我们想通过一个照片的ALAsset对象,来获取这张照片的原图并将其转换成NSData数据,有如下两种方法: 方法一:将其转换成UIImage对象,再通过UIImageJPEGRepresentation或UIImagePNGRepresentation方法转成NSData 这种方法不推荐,因为这个其实对图片进行了压缩转换,不再是图片的原始数据(像如果是gif动态图会变成静态图片),同时照…
CGContextRef CGBitmapContextCreate ( void *data, size_t width, size_t height, size_t bitsPerComponent, size_t bytesPerRow, CGColorSpaceRef colorspace, CGBitmapInfo bitmapInfo );    参数data指向绘图操作被渲染的内存区域,这个内存区域大小应该为(bytesPerRow*height)个字节.如果对绘制操作被渲染的内存…
http://mp.weixin.qq.com/s/A900w0Y5pGjuaB4j9Os9ww1.UIImage 生成方法的对比 Apple官方的文档为生成一个UIImage对象提供了两种方法: 1. imageNamed,其参数为图片的名字:优点:加载时会缓存图片,用于图片的频繁使用:缺点:占用内存,直到应用结束 2. imageWithContentsOfFile,其参数也是图片文件的路径.优点:仅加载图片,不会缓存,用于价值次数较少的情况,降低内存消耗 那么两种有什么区别吗? 肯定是有的…
一.图片压缩简述 在我们开发过程中,有可能会遇到拍照.或者从相册中选择图片,要么单选或者多选,然后上传图片到服务器,一般情况下一张图片可能3-4M,如果类似微信朋友圈上传9张图片大约是 35M左右,如果我们上传 35M左右的图片到服务器,可想而知后台的压力有多大,最主要的还是特别耗时,如果是在网速比较慢,那么用户上传图片可能需要4-5分钟,那么用户就会受不了,可能会退出应用.所有在开发过程中,考虑到手机性能.网络性能等因素的影响,更重要的是后台服务器的内存.网络等性能的限制,我们再通过网络发送图…
APP崩溃 启动秒退 在新 iOS 上正常的应用,到了老版本 iOS 上秒退最常见原因是系统动态链接库或Framework无法找到.这种情况通常是由于 App 引用了一个新版操作系统里的动态库(或者某动态库的新版本)或只有新 iOS 支持的 Framework,而又没有对老系统进行测试,于是当 App 运行在老系统上时便由于找不到而秒退.解决办法是等开发人员发现这个问题后升级程序,或由用户自行升级其操作系统. 还有一种常见的秒退是程序在升级时,修改了本地存储的数据结构,但是对用户既存的旧数据没有…
参考网址:http://blog.csdn.net/lovenjoe/article/details/7484217 天牛 感谢作者的硕果 在Iphone上有两种读取图片数据的简单方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函数需要两个参数:图片的引用和压缩系数.而UIImagePNGRepresentation只需要图片引用作为参数.通过在实际使用过程中,比较发现: UIIma…
图片上传时必要将图片进行压缩,不然会上传失败 首先是同系统相册选择图片和视频.iOS系统自带有UIImagePickerController,可以选择或拍摄图片视频,但是最大的问题是只支持单选,由于项目要求需要支持多选,只能自己自定义.获取系统图库的框架有两个,一个是ALAssetsLibrary,兼容iOS低版本,但是在iOS9中是不建议使用的:另一个是PHAsset,但最低要求iOS8以上.兼容到iOS7,可以选择了ALAssetsLibrary 现在我们先说选择一张图的情况 一.单图多图上…
上传图片不全面的想法:把图片保存到本地,然后把图片的路径上传到服务器,最后又由服务器把路径返回,这种方式不具有扩展性,如果用户换了手机,那么新手机的沙盒中就没有服务器返回的图片路径了,此时就无法获取之前已经上传了的头像了,在项目中明显的不可行. 上传图片的正确方式:上传头像到服务器一般是将图片NSData上传到服务器,服务器返回一个图片NSString地址,之后再将NSString的路径转为url并通过url请求去更新用户头像(用户头像此时更新的便是NSString) 代码为: AFHTTPRe…
一.概述1.掌握调试技巧,调试技术最基本,最重要的调试手段包括:单步跟踪,断点,变量观察等.单步跟踪(Step)所谓单步跟踪是指一行一行地执行程序,每执行一行语句后就停下来等待指示,这样你就能够仔细了解程序的执行顺序,以及当时的各种状况.断点(Breakpoint)断点是调试中非常重要的一个手段.由于在执行到某些代码前需要执行许多其它代码,不可能用单步跟踪一条一条执行过来,这时只要在需要暂停的地方设置一个断点,然后让程序运行,当执行到这个断点位置时不需要用户干预就会暂停并返回集成调试程序.断点必…
一.XCode4.2以后支持自动释放内存ARC xcode自4.2以后就支持自动释放内存了,但有时我们还是想手动管理内存,这如何处理呢. 很简单,想要取消自动释放,只要在  Build Settings里,找到Apple LLVM compiler 3.0 - Code Generation 下面的  Objective-C Automatic Reference Counting ,把它的值改成NO即可.如下图.     二.Objcet-C 关于xCode内存管理中内存分配和释放的一些经验…
[原]SDWebImage源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 前面的代码并没有特意去讲SDWebImage的缓存机制,主要是想单独开一章节专门讲解缓存.之前我们也遇到一些缓存的属性和方法,比如storeImage.queryDiskCacheForKey.memCache等等. SDWebImage的缓存分为两个部分,一个内存缓存,使用NSCache实现,另一个就是硬盘缓存(disk),使用NSFileManager实现. 不过这么多函数,…
CloudKit是苹果推出的基于iCloud的一个云端数据存储服务.其 主要由下面两部分组成: 一个仪表web页面,用于管理公开数据的记录类型. 一组API接口,用于iCloud和设备之间的数据传递. 一:首先在XCode上面打开关于iCloud功能 1:进入对应的项目Targets 中的Capabilities 选项卡,打开关于iCloud功能:如果勾选iCloud Documents或CloudKit会自动生成一个带iCloud.开头的Containers,要配置证书支持:CloudKit…
AFHTTPSessionManager *manager   = [AFHTTPSessionManager manager]; NSString *string                        = @"admin:100"; NSData          *originData             = [string dataUsingEncoding:NSASCIIStringEncoding]; NSString        *encodeResult  …
本文目录 下载操作SDWebImageDownloaderOptions和下载过程实现 下载管理SDWebImageDownloader 缓存SDImageCache SDWebImageManager:按需下载->完成缓存->缓存管理等一系列完整的流程线 要写点关于SDWebImage的文章了,这段时间看的不少,总体的感受是SDWebImage的代码不如AFN那么规整.有条理,并没有吐槽的意思,稍微细细看一下就会有这样的感受.本篇文章不会用大量的篇幅来介绍SDWebImage如何使用,而是更…
代码: RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController @end RootViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UIImage * image = [UIImage imag…
************** #import "HMViewController.h" #import "AFNetworking.h" @interface HMViewController () <UINavigationControllerDelegate, UIImagePickerControllerDelegate,UIActionSheetDelegate> @property (weak, nonatomic) IBOutlet UIIm…
1.UserNotifications 通知是 App 用来和用户交流的一种方式,特别是当 App 并没有在前台运行的时候.通知,正如它的名称所强调的,被用作向用户'通知'一个事件,或者仅仅向用户提示一条重要信息.总而言之,通知在提示类型的 App 当中非常有用,甚至在一些别的类型的 App 当中也是如此.比如,当用户进入一个指定区域(这是 iOS8 的新特性),一个下载任务完成,或者当朋友给你发送一条信息的时候,一条通知就可以被显示出来.无论如何,通知的目的就是获得用户的关注,然后他们就能处理…
NSFileManager.NSURL.NSFileHandle.NSData.NSXMLParser.NSUserDefaults.NSKeyedArchiver.NSKeyedUnarchiver.CoreData.NSFetchRequest.NSEntityDescription.NSPredicate. NSSortDescriptor.UIImagePickerController.AVAudioPlayer.MPMoviePlayerController.NSThread.NSBl…
目前IOS端开发,图片上传到服务器分为两种,一种是直接上到服务器,一种是借助第三方储存(减少服务器压力). 一.直接上传到服务器 /** * 代码演示 */ //*******UIImagePNGRepresentation(UIImage* image) 要比UIImageJPEGRepresentation(UIImage* image, 1.0) 返回的图片数据量大很多,但从视角角度看,图片的质量没有明显的降低,所以在读取图片数据内容时,可以先使用UIImageJPEGRepresenta…
// png 图片转化是无损的. 可以有透明效果. // jpg 图片转化是有损的. 质量因子. - (void)jpgToPng { UIImage * image = [UIImage imageNamed:@"1.jpg"]; NSData * data = UIImagePNGRepresentation(image); UIImage * imagePng = [UIImage imageWithData:data]; // 保存至相册 UIImageWriteToSaved…
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UIImageView *img=[[UIImageView alloc]initWithFrame:CGRectMake(50, 100, 200, 200)]; img.backgroundColor=[UIColor redColor]; [self.view addSubview:img]; /…
准备工作---原文来自这个 首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里 如果你是 copy 在自建 group 里面, 1.需要在 Build Phases - Link Binary With Libraries 里面 .a 文件,TencentOpenApi_IOS_Bundle.bundle.TencentOpenAPI.framework 2.在 Copy Bundle…
简单的JSON的HTTP传输就不说了,看一个简单的DEMO吧. 主要明白parameters是所填参数,类型是字典型.我把这部分代码封装起来了,以便多次调用.也许写在一起更清楚点. #pragma mark - JSON方式post提交数据 - (void)postJSONWithUrl:(NSString *)urlStr parameters:(id)parameters success:(void (^)(id responseObject))success fail:(void (^)(…
1.-(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递) if ([delegate respondsToSelector:@selector(didFinishUpload:)]) { [delegate didFinishUpload:self]; } 视图篇 1.[self presentViewController:jump animated:YES completion:nil];//视…
一.画线 只有在drawRect中才能获取到跟view相关联的上下文 - (void)drawRect:(CGRect)rect {} 一条线 // 1.获取跟当前View相关联的layer上下文(画板) // 总结:目前获取的所有上下文都是以UIGraphics开头 // CGContextRef:上下文类型 // CG:CoreGraphics Ref:引用 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.绘制内容,拼接路径 //…