*第4回目 Cocoaで画像読み込みと表示 [#zb088e68]
 CocoaでPNGファイルを読み込んで画面に表示します。
 他にはJPGファイルも読み込んで表示ができます。
#ref(picture_draw01.png,,,100%)
 まずXcodeを起動してメニューの「ファイル」-「新規プロジェクト」を選択する。
 そしてCocoa Applicationを選んで「次へ」ボタンを押す。
#ref(picture_draw02.png,,,100%)
 プロジェクト名を決めて「完了」ボタンを押す。
 今回はpicture_drawというプロジェクト名にした。
#ref(picture_draw03.png,,,100%)
 pictute_drawのプロジェクトのフォルダに表示したいpngファイルをコピーする。
 今回はsample.pngを使用。
#ref(picture_draw04.png,,,100%)
 ファイルとグループのResourcesを右クリックしてメニューを出し「追加」-「既存のファイル」を選ぶ。
#ref(picture_draw05.png,,,100%)
 sample.pngを選んで「追加」ボタンを押す。
**プログラム作成 [#p543fa08]
 以下のプログラムを入力する。
***PictureView.h [#k1490099]
 #import <Cocoa/Cocoa.h>
 @interface PictureView : NSImageView {
 }
 @end
***PictureView.m [#la3f6c1d]
 #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
#author("2018-06-18T16:13:59+09:00","default:kuran","kuran")

 NSBundleはリソースに登録したファイルを管理するクラスのようです。
 NSImageは画像の管理をするクラスのようです。
 はっきり言って何をしているか良くわかりませんが
 NSBundleでPNGファイルの場所を調べてNSImageに読み込んでいると言うことのようです。
#ref(picture_draw06.png,,,100%)
 グループとファイルのOther sourcesを右クリックして「追加」-「既存のファイル」を選びます。
#ref(picture_draw07.png,,,100%)
 PictureView.h、PictureView.mを選んで「追加」ボタンを押します。
#ref(picture_draw08.png,,,100%)
 何も変更せずに「追加」ボタンを押します。
**Interface Builderでの作業 [#y8ea29ab]
#ref(picture_draw09.png,,,100%)
 XcodeのファイルとグループにあるMainMenu.nibをダブルクリックする。
 するとInterface Builderが起動する。
#ref(picture_draw10.png,,,100%)
 ライブラリウインドウのViews & CellsにあるCustom Viewを選ぶ。
#ref(picture_draw11.png,,,100%)
 作成中のWindowに上記で選んだCustom Viewをドラッグアンドドロップする。
 またCustom Viewの大きさを調整する。
#ref(picture_draw12.png,,,100%)
 Class identityを先ほど作成したPictureViewに変更する。
**実行結果 [#if370169]
#ref(picture_draw13.png,,,100%)

[[前に戻る>プログラミング]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS