gpt4 book ai didi

iphone - 从iPhone上的UIImage获取像素数据,为什么红色的总是255?

转载 作者:行者123 更新时间:2023-12-03 21:07:14 25 4
gpt4 key购买 nike

一直在调查this topic ,并以不同的运气使用此方法:

-(RGBPixel*)bitmap{

CGImageRef cgImage = [image CGImage];

CGDataProviderRef provider = CGImageGetDataProvider(cgImage);

bitmapData = CGDataProviderCopyData(provider);

[self setPixelByteData: malloc( CFDataGetLength(bitmapData) )];

CFDataGetBytes( bitmapData, CFRangeMake( 0, CFDataGetLength( bitmapData ) ), pixelByteData );

pixelData = (RGBPixel*) pixelByteData;

colorLabel.text = [[NSString alloc]initWithFormat:@"Pixel data: red (%i), green (%i), blue (%i).", pixelData[100].red, pixelData[100].green, pixelData[100].blue] ;

return pixelData;
}

唯一不能按我想要的方式工作的是红色像素数据:它总是显示 255,而绿色和蓝色的行为符合预期。我做错了什么?

最佳答案

正如@Nick 暗示的那样,您确定您知道图像的格式吗?位每组件、位每像素、字节每行、色彩空间?数据可以是 int 或 float 格式。它可以排列为 RGB、RGBA 或 ARGB。

除非您自己根据原始数据创建了图像,否则您可能不确定。您可以使用CGImageGetBitmapInfo()CGImageGetAlphaInfo()CGImageGetColorSpace()等函数来查找。

关于iphone - 从iPhone上的UIImage获取像素数据,为什么红色的总是255?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com