为了账号安全,请及时绑定邮箱和手机立即绑定

获取UIImage的Pixel颜色

获取UIImage的Pixel颜色

iOS
元芳怎么了 2019-09-20 16:12:15
如何获取UIImage中特定像素的RGB值?
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您无法直接访问原始数据,但通过获取此图像的CGImage,您可以访问它。这里是另一个问题的链接,可以回答您的问题以及您可能拥有的有关详细图像处理的其他问题:CGImage


查看完整回答
反对 回复 2019-09-20
?
holdtom

TA贡献1805条经验 获得超10个赞

试试这个非常简单的代码:


我曾经在我的迷宫游戏中检测到墙壁(我需要的唯一信息是alpha通道,但我包含了代码以获取其他颜色):


- (BOOL)isWallPixel:(UIImage *)image xCoordinate:(int)x yCoordinate:(int)y {


    CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage));

    const UInt8* data = CFDataGetBytePtr(pixelData);


    int pixelInfo = ((image.size.width  * y) + x ) * 4; // The image is png


    //UInt8 red = data[pixelInfo];         // If you need this info, enable it

    //UInt8 green = data[(pixelInfo + 1)]; // If you need this info, enable it

    //UInt8 blue = data[pixelInfo + 2];    // If you need this info, enable it

    UInt8 alpha = data[pixelInfo + 3];     // I need only this info for my maze game

    CFRelease(pixelData);


    //UIColor* color = [UIColor colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:alpha/255.0f]; // The pixel color info


    if (alpha) return YES;

    else return NO;


}


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 492 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信