我正在使用以下代码来修改图像的像素。我的问题是图像的颜色是icorrect。你对这个问题有什么想法吗?
`CGImageRef inImage = img.CGImage;` `CGContextRef ctx;` CFDataRef m_DataRef;
m_DataRef = CGDataProviderCopyData(CGImageGetDataProvider(inImage));
UInt8 * m_PixelBuf = (UInt8 *) CFDataGetBytePtr(m_DataRef);
// Byte tmpByte;
int length = CFDataGetLength(m_DataRef);
for (int index = 0; index < length; index += 4)
{
// DO Stuff
}
ctx = CGBitmapContextCreate(m_PixelBuf,
CGImageGetWidth( inImage ),
CGImageGetHeight( inImage ),
8,
CGImageGetBytesPerRow( inImage ),
CGImageGetColorSpace( inImage ),
kCGImageAlphaPremultipliedFirst );
CGImageRef imageRef = CGBitmapContextCreateImage (ctx);
UIImage* rawImage = [UIImage imageWithCGImage:imageRef];
CGContextRelease(ctx);
发布于 2011-02-12 07:19:43
尝试使用kCGImageAlphaPremultipliedLast而不是kCGImageAlphaPremultipliedFirst。
https://stackoverflow.com/questions/2257893
复制相似问题