4

NSImageCellを使用して、任意のサイズの画像に基づく固定サイズのアイコンをNSOutlineViewに入れています。

NSImageCell は画像をうまく縮小しますが、縮小された画像の周りにパディングを追加する方法が見つかりません。パディングなしでは、行は私の目には醜く見えます。

この問題を修正するための最初のパスは、一定サイズの新しい画像を作成し、パディングの境界を挿入し、drawInRect:fromRect:operation:fraction: を使用して元のアイコンの縮小バージョンを描画することでした。

これは、正方形の画像に最適です。NSImage には、特定の四角形に画像の中心に配置され、一定のアスペクト比でスケーリングされたバージョンを描画する便利な方法があると思いましたが、見つかりません。

明らかに、元の画像と同じ縦横比で適切な四角形を計算できますが、車輪を再発明したくありません...

4

1 に答える 1

2

私が見たすべてのサンプル コードは、パディングの計算を使用しています。CocoaDev には、それを行う NSImage カテゴリがいくつかあります。

于 2010-01-14T14:14:15.570 に答える