0

ブラウジングウィンドウで画像を選んで上手に画像を入れたい。

これが私のコードです。画像を選択できますが、画像をよく見ることができません。選択した後、ウィンドウの画像によく表示されるはずです。

- (IBAction)chooseImage:(id)sender 
{
    NSOpenPanel* openDlg = [NSOpenPanel openPanel];
    [openDlg setPrompt:@"Select"];
    [openDlg setCanChooseFiles:YES];


    [openDlg setCanChooseDirectories:YES];


    if ( [openDlg runModal] == NSOKButton )
    {

        NSArray* files = [openDlg URLs];

        // Loop through all the files and process them.
        for( int i = 0; i < [files count]; i++ )
        {
            NSString* fileName = [files objectAtIndex:i];
            NSImage *iconImage=[[NSImage alloc] initWithContentsOfFile:fileName];
            [imageView setImage:iconImage];
        }
    }
}

インターフェイスビルダーで、ブラウズボタンを接続しました

- (IBAction)chooseImage:(id)sender;

とイメージ ウェル オブジェクト

@property (assign) IBOutlet NSImageView* imageView;

ありがとう

4

1 に答える 1

0

initWithContentsOfFileファイルパスを取ります。ただしURLs、URL が含まれています。したがって、インピーダンスの不一致があり、iconImageゼロになります。

initWithContentsOfURL代わりに使用してください。

また、ユーザーが複数の画像を選択してから、それらすべてを循環させて、画像ビューを設定してそれぞれを連続して表示できるようにしたいのはなぜですか? (すべてを一緒に表示するわけではありません。表示できる画像は 1 つだけです。) 画像ビューを、ユーザーが選択imageした最初の(そして唯一の) 画像に設定するだけです。

于 2013-04-10T15:21:10.740 に答える