内部にさまざまな画像を含む NSImage があります。その中の画像の位置は常に同じであるため、四角形が画像の中にある位置でサブイメージを取得するには、四角形を指定する必要があります。これはどのように行うことができますか?
1335 次
2 に答える
3
1 つの画像の中に複数の画像があるのはなぜですか? 時期尚早の最適化?
いずれにせよ、画像を描画するときに渡すパラメータの 1 つは、必要な画像のセクションです。通常、画像の境界またはゼロ四角形 (どちらも同じ意味) を渡しますが、必要に応じてサブ四角形を渡すこともできます。
コピー先の四角形がソースの四角形よりも大きい場合は、(不均等に) 拡大されます。小さい場合は、縮小されます (不均等に)。スケーリングが不要な場合は、宛先の四角形のサイズをソースの四角形のサイズと一致するように調整します。
描画を NSImageView に残したい場合は、目的のサイズの空の NSImage を作成し、その中に描画してから、その画像を画像ビューに渡します。これにより、これらすべてを 1 つのイメージにまとめることで得られると期待していたパフォーマンス上の利点が台無しになる可能性があります。
また、NSImage のプロパティとソース四角形のプロパティを持ち、そのセクションのみを描画する NSView、NSImageView、または CALayer のカスタム サブクラスを作成することもできます。
于 2010-07-24T03:33:44.163 に答える