我的目標是在視圖中顯示圖像。 考慮到我有一個:從NSData顯示NSImage
- IBOutlet中NSImageView *用於顯示我的形象
- 的NSData *爲imageData爲readig圖像文件圖像
- NSImage中* ImageView的
imageData中存儲的圖像(我已經使用了initWithContentsOfFile方法)。
現在,如果我初始化的ImageView有:
NSImage *imageView = [[NSImage alloc] initWithContentsOfFile:path];
我可以正確地看到圖像的渲染,但這種方式我是從文件系統中讀取兩次。
如果我嘗試:
NSImage *imageView = [[NSImage alloc] initWithData:imageData];
顯示的圖像是非常small..like拇指
白衣CGImageRef:
CGImageSourceRef imageSource = CGImageSourceCreateWithData((CFDataRef)imageData, NULL);
CGImageRef imageRef= CGImageSourceCreateImageAtIndex(imageSource, 0, nil);
NSImage *imageView = [[NSImage alloc] initWithCGImage:imageRef size:NSZeroSize];
圖像仍呈現太小。
如何以原始分辨率顯示圖像?
如果'initWithContentsOfFile:'適用於'NSImage',爲什麼還需要'NSData'? (但我同意這很奇怪 - 可能是一個圖像表示或大小問題。) – Richard 2011-03-14 13:51:39
我已經編輯我的文章:添加imageSource – Matteo 2011-03-14 14:02:45
我有一個NSData讀取exif標記。 – Matteo 2011-03-14 14:04:42