首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改CGImageRef的像素

修改CGImageRef的像素
EN

Stack Overflow用户
提问于 2010-02-13 22:42:14
回答 1查看 1.3K关注 0票数 0

我正在使用以下代码来修改图像的像素。我的问题是图像的颜色是icorrect。你对这个问题有什么想法吗?

代码语言:javascript
复制
 `CGImageRef inImage = img.CGImage;`
代码语言:javascript
复制
 `CGContextRef ctx;` 
代码语言:javascript
复制
    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); 

EN

回答 1

Stack Overflow用户

发布于 2011-02-12 07:19:43

尝试使用kCGImageAlphaPremultipliedLast而不是kCGImageAlphaPremultipliedFirst

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2257893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档