UIImage
iPadを縦向きにしたときに正しい向きになっているように見えるが、関連付け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(ピクセル情報)にアクセスするにはどうすればよいですか?