画像ファイルを選択し表示…出来ない…orz→解決済

NSImaegViewにsetImageで画像が表示されないんだけど…

ネット上のサンプルだと普通の書き方っぽいんだけど…やって見ると表示できません…なんでかな?

どうも

file:///Users/komoritatsuyoshi/Downloads/test01.jpg

じゃなくて

/Users/komoritatsuyoshi/Downloads/test01.jpg

こっちでアクセスしないとダメらしいです。

以下のコードだとファイルのパスを取ってくる箇所がちょっと違うんだろうな。

よく分からず切ったり貼ったりしてるとやっぱダメだな〜

ちょっと見直さないと…orz

 

下記のコードを修正する箇所は

NSString *fullPath = [url absoluteString];

を以下のように変更すればOK

NSString *fullPath = [url path];

 

環境

  • OS X EI Capitan 10.11.5
  • xcode7.3.1

 

以下は表示出来ないコードなので注意してください。

    NSOpenPanel* openPanel = [NSOpenPanel openPanel];

    [openPanel setAllowsMultipleSelection: NO];
    [openPanel setCanChooseDirectories:NO];
    [openPanel setCanCreateDirectories:NO];
    [openPanel setCanChooseFiles:YES];
    
    [openPanel setAllowedFileTypes:[NSImage imageTypes]];
    
    [openPanel beginWithCompletionHandler:^(NSInteger result)  {
        if (result == NSFileHandlingPanelOKButton) {
            
            //get url (should only be one due to restrictions)...
            for( NSURL* URL in [openPanel URLs] ) {
                // self.roundClockView1.URL = URL ;
                NSURL *url = URL;
                NSString *fullPath = [url <strong><span style="color: #ff0000;">absoluteString</span></strong>];
                NSString * currentSelectedFileName = [[URL path] lastPathComponent];
                NSLog(@"%@", url);
                NSLog(@"%@", fullPath);
                NSLog(@"%@", currentSelectedFileName);
                
                //NSImage* img = [[NSImage alloc] init];
                //img = [img initWithContentsOfFile:fullPath];
                
                NSImage* img = [[NSImage alloc] initWithContentsOfFile:fullPath];
                
                [iv1 setImageScaling:NSImageScaleProportionallyDown];
 
                [iv1 setImage:img];
            }
            
        }
    }];

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA