macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

bestRepresentationForDevice:

デバイスにとって最も良い画像内容を返します
-(NSImageRep *)bestRepresentationForDevice:(NSDictionary *)deviceDescription:

解説

デバイスにとって最も良い画像内容を返します。
deviceDescriptionがnilなら現在のデバイスと仮定します。

返り値

( NSImageRep * )

画像の内容

引数

( NSDictionary * )deviceDescription

デバイス辞書

フレームワーク

ApplicationKit

クラス

NSImage

Instance Methods

使用可能

10.0

参照

- representations
- prefersColorMatch

例文

#import "SetImage.h"

@implementation SetImage

- (IBAction)set:(id)sender
{
    //開けるファイル拡張子の配列
    NSArray      *imgTypes    = [ NSArray arrayWithObject : @"tiff" ];
    //OpenPanelを作る
    NSOpenPanel  *opImage       = [ NSOpenPanel openPanel ];

    //OpenPanelの結果のボタン番号
    int		  opRet;
    NSArray      *repArr; 
    NSImageRep *imgRep1;
    NSImageRep *imgRep2;
    NSImageRep *imgRep3;
     NSImage *img=[[NSImage allocWithZone:[self zone]] initWithSize:NSMakeSize(100,100)];
        //OpenPanelでファイル選択   
    opRet = [ opImage runModalForDirectory : NSHomeDirectory() //どこのディレクトリを出すか
                                     file : @"Pictures" //どのどのファイルを選択しておくか
                                    types : imgTypes ];//選べるファイルタイプ

    if ( opRet == NSOKButton ) {  // OPENPanelのボタンがOKなら
            imgRep1 = [NSImageRep imageRepWithContentsOfFile:[ opImage filename ]];
            imgRep2 = [NSImageRep imageRepWithContentsOfFile:[ opImage filename ]];
            repArr = [NSArray arrayWithObjects:imgRep1,imgRep2,nil];
            [img addRepresentations:repArr]; 
            
            imgRep3 = [img bestRepresentationForDevice:nil];
        [image setImage:img];
         NSLog([imgRep3 description]);   
    }
}

@end