[前人栽树,后人乘凉]
完整项目github托管地址:https://github.com/holyHbw/picAndMovieProcess_simpleCode
接我上一篇:http://blog.youkuaiyun.com/hbw1992322/article/details/51897897 blog的内容,这篇主要写一下对图片的编解码以及对于裸数据的读写及保存。
本文主要内容包括:
--------(1) 将本地图片转为NSImage/UIImage,将NSImage/UIImage转为CGImageRef,由CGImageRef构建一个CGContextRef并返回CGContextRef内存地址的指针及图片相应的信息。
--------(2)通过给定的内存块地址指针将该内存中的数据转化为CGImageRef,再通过CGImageRef创建CGContexRef,然后通过CGContexRef创建NSImage/UIImage,最后将NSImage/UIImage以指定的图片格式(如:jpg,png)保存在本地
--------(3) (1)<------->(2),(1)(2)是两个互逆的过程。
直接上代码:
(1):
将本地图片文件转为NSImage就一句代码,(NSImage是一个图片容器,可以裝各类图片数据):
NSImage *image = [[NSImage alloc]initWithContentsOfURL:_sourceURL];
接下来是实现(1)中功能的两个函数:
-(unsigned char *)convertSourceImageToBitmapRGBA:(NSImage *)image
{
//由NSImage创建CGImageRef
struct CG