当我的 iPad 纵向放置时,我有一个UIImage
看起来方向正确的东西,但是当我得到CGImageRef
与之关联的时候,它CGImageRef
逆时针旋转了 90 度。经过一番谷歌搜索,我了解到这是CGImageRef
因为UIImage
. 我需要查看和修改 中的一些像素CGImageRef
,我目前正在通过直接访问 rawData 变量(图像是 UIImage*)来执行此操作:
CGImageRef imageRef = [image CGImage];
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); //maybe make ...Gray();
unsigned char *rawData = (unsigned char*) calloc(height * width * 4, sizeof(unsigned char));
CGContextRef context = CGBitmapContextCreate(rawData, width, height, bitsPerComponent, bytesPerRow, colorSpaceRef, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef);
但是,为了让我正确修改存储在 rawData 中的像素数据,我需要 CGImageRef 处于正确的方向。如何CGImageRef
顺时针旋转 90 度然后访问 rawData(像素信息)?