2012-05-08 8 views
3

私はiOSベースのコアテキストアプリケーション(iOS 5、iPad)を構築しており、その中には(drawRectの)いくつかのタイポグラフィ計算を行っているビューがあります。CGContextConvertRectToDeviceSpaceは網膜デバイスで正しく機能しますか?

私はCGContextConvertRectToDeviceSpaceを使用する場合、私は網膜デバイス上の取得結果は非網膜デバイスの倍であることに気付きました。 drawRectの中に網膜/非網膜のデバイスの違いを隠す暗黙的な変換が適用されていることは私の理解であるため、なぜ違いがあるのか​​混乱しています。

具体的には、私は、ユーザースペースの座標系で、与えられたCTLineのユーザー座標での位置を計算しようとしています。最初に私のラインにCTLineGetTypographicBoundsを使用し、CGContextConvertRectToDeviceSpaceでこれらの値を使ってrectを取得します...しかし、私が戻ってくるrectは、網膜のデバイスの幅と高さを網膜以外のものに対して2倍にしています。私は行方不明のものがありますか?

答えて

1

私は、CGContextConvertRectToDeviceSpaceを使用すると、私が網膜デバイスで得た結果が、網膜以外のデバイスの2倍であることに気付きました。

は、私には、通常のね。 「デバイス空間」は出力デバイス上の実際のピクセルを表し、この場合は網膜ディスプレイである。これは通常、CGContextのユーザー空間座標系の2倍大きくなります。

通常は、デバイス空間へまたはから変換する必要があることはまれです - あなたは絶対に積極的に実画素に図面を揃えるために必要な場合にのみ、それを行うだろう。

CGContextConvertRectToDeviceSpaceで何を達成しようとしていますか?代わりがあるかもしれません。

関連する問題