2016年9月20日火曜日

220:NSView と NSImage


NSViewに様々な図形を描画する

NSView のサブクラスを作成して、draw 関数をオーバーライドします。

プレイグラウンド:
Xcode 8 では、他に何も足さなくても実行結果を見ることができます。
実行コード行の右端に表示される(+)マークを押せば、実行コード行の下に実行結果が表示されます。
11-23
MyVew01:与えらえた4角形を青色に塗り潰し、ビューフレーム全体に広げるビューの例
25
MyView01インスタンスの生成例1
26
MyView01インスタンスの生成例2
29-59
MyVew02:赤い円の中に白い正方形を描画するビューの例
60
MyView02インスタンスの生成例
63-104
MyVew03:曲線を描画するビューの例
105
MyView03インスタンスの生成例
108-124
MyVew04:グラデーションを描画するビューの例
125
MyView04インスタンスの生成例
129-152
MyVew05:MyView03 とは逆にビュー内部に枠付きの円(直径はビューの幅の4/5)を描く
153
MyView05インスタンスの生成例
156-204
MyVew06:実線、破線などの線を描画
205
MyView06インスタンスの生成例


イメージ(NSImage)に描画する

プレイグラウンド:
前準備として、プレイグラウンドのページ"UI04"のResourcesの下にsampleimage1.jpgファイルをコピーします。
05
プレイグラウンドに追加した写真 "UI04/Resouces/sampleimage1.jpg" のファイルパスを指定します。
07
ファイルパスで指定された画像を持つ NSImage を作成します。
10,11
300x300のサイズの空の NSImage インスタンス(img)を生成します。
14
この img に描画することを伝えます。
15,16
位置(20,20)にサイズ(50x100)の NSRect を作成して、それを青色で塗りつぶします。
17-23
NSBezierPath を使って線幅4.0の線を描画します。
24行
img への描画の終了を伝えます。