NSViewのサブクラスを持つウィンドウがあります。ビューの中で、私はNSImageを入れました。NSImage rotation
画像の左上の(新しい)左隅を維持して、画像を90度回転させたいと考えています。もちろん、私はイメージを回転させ、原点を元に戻すためにそれを翻訳する必要があります。
Carbonでは、私が望むことをするCGContextRotateCTMが見つかりました。しかし、私はObjCで適切な呼び出しを見つけることができません。 setFrameCenterRotationは何もしていないようですが、setFrameRotationでは元がどこにあるかわからないので、私は都合の良いように翻訳できます。
移動しているようです。ウィンドウのサイズを変更すると、イメージ(またはその一部)が置かれ、奇妙なクリッピング問題が発生するように見えます。スクロールすると、別の(とは限りません)場所にジャンプします。
これは誰にとっても意味がありますか?
おかげ
はい、私はココアを意味しました だから、私はちょうど上記を行い、[view setNeedsDisplay:YES]する必要がありますか? 私は、setNeedsDisplayがdrawRect:を呼び出していることを知っています。これは描画作業を行います...私がそれを行うときに何も起こりそうにないからです。 –
上記のコードスニペットは、実際にNSViewサブクラスのdrawRect:メソッド内にあるはずです。 NSAffineTransformは、ビューが再描画されるたびに実行する必要があります。 –
優秀!今は翻訳の仕組みを理解するだけです。 私が翻訳した後、四角形を変更して実際に正しく表示されるようにする問題があります。 –