IOS/OSX 下对各类图片的编解码、图片裸数据(bitmap data)的获取、根据裸数据(bitmap)重构图片,及源码

本文介绍了如何在iOS/OSX环境下进行图片的编解码,详细阐述了从本地图片转换为NSImage/UIImage,再转换为CGImageRef并构建CGContextRef的过程。同时,也探讨了如何从内存块地址还原CGImageRef,进而构建NSImage/UIImage并保存为不同格式的图片。完整项目可在GitHub找到。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[前人栽树,后人乘凉]

完整项目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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值