NSImage
의 imageNamed:
메서드를 사용하면 현재 컴퓨터의 아이콘을 가져올 수 있습니다. Mac Mini에서 실행 중이면 저해상도 이미지가 나타납니다. . 내 MacBook에서 동일한 코드를 실행하면 기대했던 것보다 고해상도 아이콘이 표시됩니다. 다음과 같이NSImage imageNamed : Mac Mini는 고해상도 대신 작은 아이콘을 반환합니다.
내 코드는 다음과 같습니다 내 맥북에 그것을 실행하면 모든 것이 잘 작동하고 나는 내 컴퓨터의 512 × 512 아이콘을 얻을
NSImage *image;
image = [NSImage imageNamed:@"NSComputer"];
[image setSize: NSMakeSize(512,512)];
NSData * tiffData = [image TIFFRepresentation];
NSBitmapImageRep *bitmap = [NSBitmapImageRep imageRepWithData:tiffData];
data = [bitmap representationUsingType:NSPNGFileType properties:nil];
mime = @"image/png";
. Mac Mini에서 실행하면 32x32 크기의 아이콘이 512x512로 업 스케일됩니다.
고해상도 버전을 얻는 방법에 대한 아이디어가 있으십니까?
이 접근법에 대한 불행한 점은 프로그래머가 아이콘 파일의 경로와 이름을 하드 코딩해야한다는 것입니다. –
@Dave DeLong, 나는 그가 "NSComputer"라는 이미지가 디렉토리에서 시스템에 의해 가져와 졌다는 것을 의미한다고 믿습니다. 그리고 그가 여기에서 언급 했으므로 실제 파일에 어떤 담당자가 있는지 직접 확인할 수 있습니다. 코드에 전체 경로를 넣어야하는 것은 아닙니다. – epatel
더 단서 : 그것은에 표시를하지, 1 (작동) 맥북은 표범을 실행하고, 내가 NSComputer 아이콘을 표시하는 NSImageView을 사용하는 경우 (가 생겼습니다) 미니는 눈 표범 2를 실행 전체 입술, 그래서 파일이 시스템에 있습니다 - 난 그냥 전체 해상도에서 NSImage 개체를 얻을 수없는 것 같습니다 3. [NSImage imageNamed :]를 만들 때 그것은 단지 하나의 표현을 가지고 있으며 크기가 있습니다 of 32 –