1

以下に示すユニバーサルアクセスズームウィンドウに似たものを作成できることを望んでいます。私はすでに NSView を作成しており、塗りつぶし操作を使用して、ウィンドウを透かしてデスクトップを表示するために、明確な「シースルー」コンポジットで四角形を作成しました。下の図のように、ビュー内でズームインおよびズームアウトできるかどうか疑問に思っています。これは IkImageView か、私が適用できるものかもしれないと思っていましたが、それがどのように行われたか確信が持てませんでした。誰かがこれを行う方法を知っているか、ドキュメントのどこでこれを見つけることができるかを教えてくれますか? いくつかのコードは素晴らしいでしょう。ありがとう!

ここに画像の説明を入力

4

2 に答える 2

2

Apple のCIAnnotationの例を見てください。この例では拡大画像ですが、あなたが望むものを達成できると思います。サンプルコードはこちらからダウンロードできます。

CIAnnotation アプリの例:

ここに画像の説明を入力

これに役立つリファレンスとガイド:

Core Image プログラミング ガイド
Quartz 2D プログラミング ガイド
NSGraphicsContext クラス リファレンス

于 2012-04-27T20:00:28.383 に答える
1

NSView はズームスルーをサポートします- (void)scaleUnitSquareToSize:(NSSize)newUnitSize

これはビューのコンテンツをズームするので、これを使用するには、マウスの背後にあるデスクトップをビュー コンテンツとして設定し (おそらく NSImage?)、ビューをズームする必要があります。マウスがドラッグされたときに更新する必要があります。

Quartz の ImageKit 部分、特に class を確認してくださいIKImageView。ズーム機能がありますが、まだ自分で操作していません。

于 2012-04-09T17:21:01.917 に答える