【发布时间】:2012-07-27 11:02:57
【问题描述】:
我有图像,我只需要生成 alpha 坐标的图像... 我做了以下操作,但它只生成了我在代码中做错的红色图像...
提前谢谢.... 我的代码:
-(UIImage*)alphaAlone:(UIImage*)sourceImage
{
CGImageRef img=sourceImage.CGImage;
CFDataRef m_DataRef;
m_DataRef = CGDataProviderCopyData(CGImageGetDataProvider(img));
UInt8 *dataMasked=(UInt8 *)CFDataGetBytePtr(m_DataRef);
double length=CFDataGetLength(m_DataRef);
NSLog(@"length::%f",length);
for(int index=0;index<length;index+=4)
{
dataMasked[index] =dataMasked[index];
dataMasked[index+1] =0;
dataMasked[index+2] =0;
dataMasked[index+3] =0;
}
NSUInteger width =CGImageGetWidth(img);
size_t height=CGImageGetHeight(img);
size_t bitsPerComponent=CGImageGetBitsPerComponent(img);
size_t bitsPerPixel=CGImageGetBitsPerPixel(img);
size_t bytesPerRow=CGImageGetBytesPerRow(img);
NSLog(@"the w:%u H:%lu",width,height);
CGColorSpaceRef colorspace=CGImageGetColorSpace(img);
CGBitmapInfo bitmapInfo=CGImageGetBitmapInfo(img);
CFDataRef newData=CFDataCreate(NULL,dataMasked,length);
CGDataProviderRef provider=CGDataProviderCreateWithCFData(newData);
CGImageRef newImg=CGImageCreate(width,height,bitsPerComponent,bitsPerPixel,bytesPerRow,colorspace,bitmapInfo,provider,NULL,true,kCGRenderingIntentDefault);
return [UIImage imageWithCGImage:newImg];
}
【问题讨论】:
标签: objective-c ios5 uiimage pixel uicolor