4

Mac OS X では、ポイントの測定値をピクセルの測定値に変換する必要があります。

私が知っている式は

pixel   = point * resolution (in terms of dpi) / 72

ピクセルに変換したい測定値がほとんどありません。逆のケースも可能ですが。

Cocoa または Quartz でこれを行う方法は? 軸にもよる?ポイントに関して、Y軸の5ピクセルはX軸の5ピクセルと同じでしょうか? または、X 軸と Y 軸の両方の解像度が同じであると仮定しても安全ですか?

解像度については何も仮定したくないことに注意してください。

4

3 に答える 3

6

おそらく、何もピクセルに変換したくないでしょう。OS X はポイント単位で動作するようになりました。たとえば、長方形を描くときは、ピクセルではなくポイントで寸法を指定します。

OS X Quartz ポイントは、(コンピューター) 印刷ポイントと関連していますが、同じではありません。以前は 2 つが同じで、72 ポイント = 1" でした。ただし、WYSIWYG は「一部のスケール」および 72 ポイントになりました (注:ピクセルではない) は、画面のピクセル密度が増加したため、物理的なインチではありませんが、72 ポイントは依然として「抽象的な」インチです。

OS X ではポイントを描画すると、OS がそれらのポイントを画面上の物理ピクセルにマッピングします。これは大まかに言えば、特定の密度までの画面は 72ppi (ピクセル/インチ) または 1 ピクセル/ポイントとして扱われ、高密度の画面は 144ppi または 2 ピクセル/ポイントとして扱われます。たとえば、これらは標準および Retina に割り当てられた ppi です。スクリーンショット。

ポイントがピクセル単位で何に変換されるかを本当に知る必要がある場合は、見つけることができますが、これはウィンドウが表示されている画面によって異なります。

これらすべての詳細については、「ポイントはピクセルに対応していません」から始めて、参照が含まれているOS Xの高解像度ガイドラインの残りを読むことができます。本当に、本当に知る必要がある場合、バッキング ストア マッピングへのポイントを見つける方法について説明します。

HTH

于 2013-10-31T23:36:37.247 に答える
2

ユーザーが「ポイント」で長さを指定すると、サイズが 1/72 インチのタイポグラフィ ポイントを意味するのか、それともディスプレイの解像度によって異なる Mac UI ポイントと比較した長さを意味するのかについて、混乱が生じる可能性があります。

Mac OS では、高解像度モードでない限り、「ポイント」ピクセルです。高解像度モードの場合、ポイントは 2x2 ピクセルです。「ポイントはピクセルに対応していません」ページには、「高解像度ディスプレイでは、各ポイントに 4 つのオンスクリーン ピクセルが存在する」とあり、高解像度では 4:1 対応、標準解像度では 1:1 対応であることを示しています。また、次の点にも注意してください。

注: ポイントという用語は、72 ポイントを物理空間の 1 インチに等しいと定義する印刷業界に由来します。OS X の高解像度に関して使用する場合、ユーザー空間のポイントは、物理世界の測定値とは何の関係もありません。

タイポグラファーのポイント サイズを、Mac 画面上で物理的に同じサイズの Mac ポイントに変換するには、式は正確です。「ピクセル」の名前を Mac ポイントに変更できます。

MacPoints = (TypesettersPoints/72)*ResolutionInDotsPerInch
于 2015-01-16T11:12:05.110 に答える
1

ポイントを押さえるのがベスト。まず、ポイントがどこから来ているかを知る必要があります。ビュー、ウィンドウ、スクリーンはすべて独自の座標系を持っています。これを特定の画面のピクセル グリッドに変換するには、いくつかの操作を行う必要があります。

まず、ポイントをスクリーン座標に変換する必要があります。次に、画面のピクセルグリッドの座標に。

また、現在のディスプレイ プロパティを調べて、Retina ディスプレイかどうかを確認する必要があります。(大きな違いになります。)

すべてのメソッドは、NSView、NSWindow、NSScreen にあります。すべての機能は Quartz Display サービスの一部です。CGDisplay には CGWindow が必要な場合があります。

また、ポイントが 2 つの画面に重なる座標空間にある場合、ディスプレイ構成の変更に関する通知をアプリに監視させ、難しい部分を把握させる必要があります。

あとはあなたに任せて、本当にこれが必要かどうかを判断してください。

于 2013-11-01T00:26:49.683 に答える