Wil*_*oss 5 iphone objective-c
NSBitmapImageRepUIKit 中有一个很好的模拟吗?具体来说,我正在寻找与setPixel:atX:y:和类似的方法getPixel:atX:y:。我找到了这个技术说明,它确实让我了解了使用 CGImage 的大部分方法,但是我如何知道像素的顺序是什么?
CGImageGetBitsPerComponent( image );
CGImageGetBitsPerPixel( image );
CGImageGetBytesPerRow( image );
CGImageGetBitmapInfo( image );
CGColorSpaceGetModel( CGImageGetColorSpace( image ) );
CGColorSpaceGetNumberOfComponents( CGImageGetColorSpace( image ) );
Run Code Online (Sandbox Code Playgroud)
使用上面的调用,您可以弄清楚每个像素的布局方式。x,y 的每个像素将从以下位置开始:
length = CGImageGetBitsPerPixel(image)/CHAR_BIT;
offset = y*CGImageGetBytesPerRow(image) + x*length;
Run Code Online (Sandbox Code Playgroud)
典型的 32 位 ARGB PNG 可能是:
8 = CGImageGetBitsPerComponent( image );
32 = CGImageGetBitsPerPixel( image );
kCGImageAlphaFirst = CGImageGetBitmapInfo( image );
4 = CGColorSpaceGetNumberOfComponents( CGImageGetColorSpace( image ) );
kCGColorSpaceModelRGB = CGColorSpaceGetNumberOfComponents( CGImageGetColorSpace( image ) );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4534 次 |
| 最近记录: |