0

インターフェイスの一部として MAC OS プログラムで使用する Quartz コンポジションを作成しました。私は、コンポジション スプライトの動き (私の場合はテキストの箇条書き) が X 平面と Y 平面の両方で最小 -1 と最大 +1 に制限されているという事実に依存しています。

ウィンドウを拡大したり、ウィンドウを全画面表示にしたりしても、水平面 (X 軸) は変わらず、-1 が左端、+1 が右端になります。ただし、垂直面 (Y 軸) は変化します。フル スクリーン モードでは、-0.7 から +0.7 になります。

このスケーリングは私の計算を台無しにしています。アプリケーションが水平面と垂直面の両方でスケールを -1 から +1 に維持する方法はありますか? または、上限と下限を決定する方法はありますか?

ヘルプ/ポインタに感謝します

4

1 に答える 1

1

Quartz Composer ビューアの Y 制限は通常 -0.75 -> 0.75 ですが、これは縦横比の問題です。X 制限は常に -1 -> 1 であり、Y 制限はそれらに依存します。

カスタムの幅と高さの変数を動的に割り当てて、コンテキストの境界サイズをキャプチャすることができます。例えば ​​:

double myWidth = context.bounds.size.width;
double myHeight = context.bounds.size.height;

「コンテキスト」は、ビューア コンテキスト オブジェクトです。

QC ビューアーで直接作業している場合: 幅と高さを提供する Rendering Destination Dimensions パッチを使用する必要があります。高さを 2 で割り、その結果に -1 を掛けて反対側にします。

于 2013-03-16T00:29:29.450 に答える