第4回目 Cocoaで画像読み込みと表示

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を選んで「追加」ボタンを押す。

プログラム作成

以下のプログラムを入力する。

PictureView.h

#import <Cocoa/Cocoa.h>
@interface PictureView : NSImageView {
}
@end

PictureView.m

#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で画像読み込みと表示"

何も変更せずに「追加」ボタンを押します。

Interface Builderでの作業

#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で画像読み込みと表示"

前に戻る?


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS