0

内部にさまざまな画像を含む NSImage があります。その中の画像の位置は常に同じであるため、四角形が画像の中にある位置でサブイメージを取得するには、四角形を指定する必要があります。これはどのように行うことができますか?

4

2 に答える 2

3

1 つの画像の中に複数の画像があるのはなぜですか? 時期尚早の最適化?

いずれにせよ、画像を描画するときに渡すパラメータの 1 つは、必要な画像のセクションです。通常、画像の境界またはゼロ四角形 (どちらも同じ意味) を渡しますが、必要に応じてサブ四角形を渡すこともできます。

コピー先の四角形がソースの四角形よりも大きい場合は、(不均等に) 拡大されます。小さい場合は、縮小されます (不均等に)。スケーリングが不要な場合は、宛先の四角形のサイズをソースの四角形のサイズと一致するように調整します。

描画を NSImageView に残したい場合は、目的のサイズの空の NSImage を作成し、その中に描画してから、その画像を画像ビューに渡します。これにより、これらすべてを 1 つのイメージにまとめることで得られると期待していたパフォーマンス上の利点が台無しになる可能性があります。

また、NSImage のプロパティとソース四角形のプロパティを持ち、そのセクションのみを描画する NSView、NSImageView、または CALayer のカスタム サブクラスを作成することもできます。

于 2010-07-24T03:33:44.163 に答える