在 UIKit 中是否有一个很好的类比 NSBitmapImageRep
?具体来说,我正在寻找与 setPixel:atX:y:
类似的方法和 getPixel:atX:y:
.我找到了 this technote,它确实让我了解了大部分使用 CGImage 的方法,但我怎么知道像素的顺序是什么?
最佳答案
CGImageGetBitsPerComponent( image );
CGImageGetBitsPerPixel( image );
CGImageGetBytesPerRow( image );
CGImageGetBitmapInfo( image );
CGColorSpaceGetModel( CGImageGetColorSpace( image ) );
CGColorSpaceGetNumberOfComponents( CGImageGetColorSpace( image ) );
使用上面的调用,你可以弄清楚每个像素是如何布局的。 x,y 的每个像素将从:
length = CGImageGetBitsPerPixel(image)/CHAR_BIT;
offset = y*CGImageGetBytesPerRow(image) + x*length;
典型的 32 位 ARGB PNG 可能是:
8 = CGImageGetBitsPerComponent( image );
32 = CGImageGetBitsPerPixel( image );
kCGImageAlphaFirst = CGImageGetBitmapInfo( image );
4 = CGColorSpaceGetNumberOfComponents( CGImageGetColorSpace( image ) );
kCGColorSpaceModelRGB = CGColorSpaceGetNumberOfComponents( CGImageGetColorSpace( image ) );
关于iphone - iPhone 的 NSBitmapImageRep(或 CGImage 的直接像素访问)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142178/