cximage转换成uiimage

cximage转换成uiimage

  和上一篇关于将uiimage转换成cximage的文章一样,我们需要利用unsigned char*来记录图像的数据

  1、将cximage转换成unsigned char*:

同样,我们先定义一个cximage为xiImage,同时malloc一个unsigned char*(记得之后要free掉)。调用cximage的GetPixelColor函数,将cximage的图像信息依次赋到imagedata中,具体见代码:

int temp = 0;
    for(inty =0;y < xiImage->GetHeight();y++)
    {
       for(int x =0;x <xiImage->GetWidth();x++)
       {
           imagedata[temp] = xiImage->GetPixelColor(x,y).rgbRed;
           imagedata[temp+1] =xiImage->GetPixelColor(x, y).rgbGreen;
           imagedata[temp+2] =xiImage->GetPixelColor(x, y).rgbBlue;
           imagedata[temp+3] =xiImage->GetPixelColor(x, y).rgbReserved;
           temp += 4;
       }
    }


得到的便是一个储存了信息的imagedata。

  2、将unsigned char*转换成uiimage:

我们同样需要了解两个函数CGBitmapContextCreate和CGBitmapContextCreateImage,第一个函数在上一篇文章中已经讲过了,而第二个函数就是用来将得到的位图上下文信息转变为CGImageRef ,之后再调用uiimage 的imageWithCGImage将CGImage变为uiimage,该过程和上一篇文章中uiimage转换到unsigned char*类似。



友情提示:和上一篇文章一样,导入cximage动态库后,需要将m文件变为mm文件使之能够识别c++的函数,ximage.h头文件需要在mm文件中加入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值