CocoaでPNGファイルを読み込んで画面に表示します。 他にはJPGファイルも読み込んで表示ができます。
#ref(): File not found: "picture_draw01.png" at page "Cocoaで画像読み込みと表示"
まずXcodeを起動してメニューの「ファイル」-「新規プロジェクト」を選択する。 そしてCocoa Applicationを選んで「次へ」ボタンを押す。
#ref(): File not found: "picture_draw02.png" at page "Cocoaで画像読み込みと表示"
プロジェクト名を決めて「完了」ボタンを押す。 今回はpicture_drawというプロジェクト名にした。
#ref(): File not found: "picture_draw03.png" at page "Cocoaで画像読み込みと表示"
pictute_drawのプロジェクトのフォルダに表示したいpngファイルをコピーする。 今回はsample.pngを使用。
#ref(): File not found: "picture_draw04.png" at page "Cocoaで画像読み込みと表示"
ファイルとグループのResourcesを右クリックしてメニューを出し「追加」-「既存のファイル」を選ぶ。
#ref(): File not found: "picture_draw05.png" at page "Cocoaで画像読み込みと表示"
sample.pngを選んで「追加」ボタンを押す。
以下のプログラムを入力する。
#import <Cocoa/Cocoa.h> @interface PictureView : NSImageView { } @end
#import "PictureView.h" @implementation PictureView -(id)initWithFrame: (NSRect) frameRect { NSBundle *thisBundle; NSString *filepath; NSImage *img; [ super initWithFrame: frameRect ]; [ self setImageFrameStyle: NSImageFrameGrayBezel ]; thisBundle = [ NSBundle mainBundle ]; filepath = [ thisBundle pathForResource:@"sample" ofType:@"png" ]; img = [ [ NSImage alloc ] initWithContentsOfFile: filepath ]; [ self setImage: img ]; return self; } @end
NSBundleはリソースに登録したファイルを管理するクラスのようです。 NSImageは画像の管理をするクラスのようです。 はっきり言って何をしているか良くわかりませんが NSBundleでPNGファイルの場所を調べてNSImageに読み込んでいると言うことのようです。
#ref(): File not found: "picture_draw06.png" at page "Cocoaで画像読み込みと表示"
グループとファイルのOther sourcesを右クリックして「追加」-「既存のファイル」を選びます。
#ref(): File not found: "picture_draw07.png" at page "Cocoaで画像読み込みと表示"
PictureView.h、PictureView.mを選んで「追加」ボタンを押します。
#ref(): File not found: "picture_draw08.png" at page "Cocoaで画像読み込みと表示"
何も変更せずに「追加」ボタンを押します。
#ref(): File not found: "picture_draw09.png" at page "Cocoaで画像読み込みと表示"
XcodeのファイルとグループにあるMainMenu.nibをダブルクリックする。 するとInterface Builderが起動する。
#ref(): File not found: "picture_draw10.png" at page "Cocoaで画像読み込みと表示"
ライブラリウインドウのViews & CellsにあるCustom Viewを選ぶ。
#ref(): File not found: "picture_draw11.png" at page "Cocoaで画像読み込みと表示"
作成中のWindowに上記で選んだCustom Viewをドラッグアンドドロップする。 またCustom Viewの大きさを調整する。
#ref(): File not found: "picture_draw12.png" at page "Cocoaで画像読み込みと表示"
Class identityを先ほど作成したPictureViewに変更する。
#ref(): File not found: "picture_draw13.png" at page "Cocoaで画像読み込みと表示"
前に戻る?