[iPhone] スマホアプリに画像を貼る UIImageの使い方(Objective-C)

画像を扱うための基本クラス UIImage Classその使い方について

sponsored link

UIImage

 
なにはともあれ、使える画像フォーマットは何でしょうか?
UIImage Class Reference によると

Format 画像拡張子
TIFF .tiff .tif
JPEG .jpg .jpeg
GIF .gif
PNG .png
DIB .bmp .BMPf
Windows icon Format .ico
Windows Cursor .cur
X Window System bitmap .xbm

Bitmap でもRGB-565 の場合は
ARGB-1555 にコンバートされるようです
直にこのような画像ファイルと保持することは無いでしょうけれど
ネットから取り込む場合などには関係するかもしれませんね
 
ザックリ、概ね、大丈夫でしょう
いざとなればこの画像に変換すればいいだけでしょうね
 

ImageNamed

 
画像ファイル名を指定した UIImage オブジェクトの作成

+ (UIImage *)imageNamed:(NSString *)name

画像を作成するための簡単な方法は「imageNamed:」メソッドを使用する方法です
画像がキャッシュされるので、同じ画像を何度も表示する場合に向いています
 
ただし、何度も同じ画像を作成してキャッシュが増大し
メモリリークの原因になることも考慮しないといけません。
 

ImageWithContentsOfFile

 
画像がキャッシュされないメソッドで、
何度も異なる画像を作成するような場合に向いています。
imageNamed で問題があった場合はこちらを

+ (UIImage *)imageWithContentsOfFile:(NSString *)filePath
NSString *filePath = [[NSBundle mainBundle] pathForResource:@”sample” ofType:@”jpg”];

でも imageNamed に比べるとちょっとめんどいです。
 
UIImage は通常は
UIImageView と一緒に使われて、
画像の表示を行います
 
実際に画像を表示させる手順はこちらを参照ください
>> UIImageView
 

(補足)メモリ管理の問題

 
画像を扱う上でメモリー管理はあなたの腕の見せどころ
 
Appleさんの言うことには、メモリ不足になったら UIImage Object は勝手に削除されるそうです!うっ
その代わりと言っては何ですが、必要になったら元の画像データを再読込みするそうです、はい、何か問題でも?
そりゃあんさん、ちょっとばかりパフォーマンスが低下するのは勘弁しておくんなまし。
 
それから1024 x 1024以上のサイズのUIImageオブジェクトの生成は避けるように推奨されているそうです。
やめろと言われるとやりたくなりますが…
 
画像によるメモリ消費の大きいOpenGL ESで使うテクスチャ画像や、ビューやレイヤーへの画像の描画では、問題が発生する場合があるそうです。
この2つ以外にも、たくさんメソッドがあります。
 
Apple Ref: UIImage
+ imageWithData:
+ imageWithData:scale:
+ imageWithCGImage:
+ imageWithCGImage:scale:orientation:
+ imageWithCIImage:
+ imageWithCIImage:scale:orientation:
– imageWithAlignmentRectInsets:
+ animatedImageNamed:duration:
+ animatedImageWithImages:duration:
+ animatedResizableImageNamed:capInsets:duration:
– resizableImageWithCapInsets:
+ animatedResizableImageNamed:capInsets:resizingMode:duration:
– resizableImageWithCapInsets:resizingMode:
– imageWithRenderingMode:
– stretchableImageWithLeftCapWidth:topCapHeight: Deprecated in iOS 5.0
 

ページのトップへ戻る
 
sponsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする