изменить пиксели CGImageRef - PullRequest
       6

изменить пиксели CGImageRef

0 голосов
/ 13 февраля 2010

Я использую следующий код для изменения пикселей изображения. Проблема, которую я имею, является цветом изображений, является неправильным. Есть ли у вас какие-либо идеи по этому вопросу?

CGImageRef inImage = img.CGImage;<br> CGContextRef ctx; </p> <pre><code> 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);

1 Ответ

0 голосов
/ 12 февраля 2011

Попробуйте использовать kCGImageAlphaPremultipliedLast вместо kCGImageAlphaPremultipliedFirst.

...