1. 直接转换
void * WeiBo::uImage2cImage(void* uimg, CCImage* cimg)
{
UIImage* img = (UIImage*) uimg;
NSData* imgData = UIImagePNGRepresentation
(img);
void* data = malloc([imgData length]);
[imgData getBytes:data];
bool ret =
cimg->initWithImageData(data, [imgData length], CCImage::kFmtPng, img.size.width, img.size.height);
free(data);
return ret;
}
2. 修改cocos2dx
----CCImage.h
bool CCImage::initWithUiImage(void* uimg);
----CCImage_ios.mm
bool CCImage::initWithUiImage(void* uimg)
{
CGImageRef CGImage = [(UIImage *)uimg CGImage];
tImageInfo info = {0};
bool bRet = _initWithImage(CGImage, &info);
if (bRet)
{
m_nHeight = (short)info.height;
m_nWidth = (short)info.width;
m_nBitsPerComponent = info.bitsPerComponent;
m_bHasAlpha = info.hasAlpha;
m_bPreMulti = info.isPremultipliedAlpha;
m_pData = info.data;
}
return bRet;
}