I was having a problem getting image files to render in Cocoa, using Objective-C. Here is the code that works for me:
NSString *shortPath = @"~/Desktop/DCP_4146.JPG";
NSString *absolutePath = [shortPath stringByExpandingTildeInPath];
NSImage *image = [[NSImage alloc] initWithContentsOfFile: absolutePath];
NSSize imgSize;
NSRect dstRect;
NSRect imgRect;
// how much room do we have to play in?
NSRect bounds = [self bounds];
imgSize = [image size];
// Should really be a while loop to scale down truly huge pictures
dstRect.size.width = imgSize.width;
dstRect.size.height = imgSize.height;
imgRect = NSMakeRect(0, 0, imgSize.width, imgSize.height);
[image drawInRect:dstRect fromRect:imgRect operation:NSCompositeSourceOver fraction:1.0];
NSString *absolutePath = [shortPath stringByExpandingTildeInPath];
NSImage *image = [[NSImage alloc] initWithContentsOfFile: absolutePath];
NSSize imgSize;
NSRect dstRect;
NSRect imgRect;
// how much room do we have to play in?
NSRect bounds = [self bounds];
imgSize = [image size];
// Should really be a while loop to scale down truly huge pictures
dstRect.size.width = imgSize.width;
dstRect.size.height = imgSize.height;
imgRect = NSMakeRect(0, 0, imgSize.width, imgSize.height);
[image drawInRect:dstRect fromRect:imgRect operation:NSCompositeSourceOver fraction:1.0];
Technorati Tags: Cocoa, Objective-C
No comments:
Post a Comment