draw
任意の解像度で完璧な画像を描画できる方法で描画されるプログラム画像を実装しようとしています。ストレッチや補間なしで任意の領域を塗りつぶすようにサイズを変更できるプログラム テクスチャを考えてみてください。
NSImageRep
そのために、描画コードを実装するカスタムを作成しました。このメソッド内のコードは、画像表現のサイズにアクセスできるため、サイズごとに再描画できます。NSImageRep
画像を表示するには、これをに割り当てNSImage
、それを に渡しNSImageView
ます。
問題は、NSImage
サイズが変更されないことです。つまり、を埋めるために引き伸ばして補間しますNSImageView
が、 のサイズはNSImage
変わらないため、NSImageRep
描画コードは常にNSImage
が最初に作成されたサイズに描画されます。のサイズを変更できますNSImage
。
言い換えればNSImage
、任意のサイズで(補間なしで)適切に描画できる の実装に成功しました。私の質問は、配置されているNSImage
サイズに合わせて自動的にサイズを変更するにはどうすればよいですか?NSImageView
理想的には、これをカテゴリとして実装したいのNSImage
ですが、どうすればよいかわかりません。
NB カスタムを実装したいだけのように聞こえることはわかっていますNSView
が、全体像は、resizableImageWithCapInsets:
iOS からメソッドを複製しUIImage
、OS X の実装を作成しようとしているということですNSImage
。