0

CGContextRef の内容を -90 度回転させたいと考えました。いくつかのコードを見つけましたが、正しく動作していません。

CGContextRef tempColorRef = CGBitmapContextCreate(NULL, width, height, bitsPerComponent,
                                                  bytesPerRow, colorspace,
                                                  kCGImageAlphaPremultipliedLast);
CGImageRef colorImageRef = CGBitmapContextCreateImage(colorContextRef);
CGContextTranslateCTM(tempLayerRef, width / 2, height / 2);
CGContextRotateCTM(tempLayerRef, DegreesToRadians(-90));
CGContextScaleCTM(tempColorRef, 1.0, -1.0);
CGContextDrawImage(tempColorRef, CGRectMake(-width / 2, -height / 2, width, height), colorImageRef);
CGImageRelease(colorImageRef);

colorContextRef = tempColorRef;

誰でも私を助けてください。

4

1 に答える 1

0

H2CO3さんのコメントを参考に、色々変換してみました。

私の責任です。widthheightsize_t変数だったので、これらはマイナス値を保持できません。以下の命令でエラーが発生していました。

CGRectMake(-width / 2, -height / 2, width, height)

今はうまくいっています。

于 2012-09-25T08:19:55.323 に答える