tags:

views:

25

answers:

2

I have a couple of images that i use in my application(one of them is attached). The strange thing is that the real image size(shown by finder and preview) is 1200x701 px.

When I access image from the code and as for its size, I get 360x210px. What is going on?

Code I'm using to get the size of the image:


NSImage *newImg =  [[NSImage alloc] initWithContentsOfURL:
                   [NSURL URLFromPasteboard:[sender draggingPasteboard]]];
float h = [newImg size].height; //height is 210px - should be 701px
float w = [newImg size].width;  //width is 320px - should be 1200px

The content of the newImg is the same image that has been pointed and loaded - I display it in the NSImageView anyway so I see. Just the size taken with -size is wrong.

This is the image:

alt text

A: 

An NSImage can contain multiple representations of the same image, each at different sizes. I'd take a look at the -representations method on NSImage, and then take a look at each NSImageRep object returned in the array to see what all it has.

Dave DeLong
+2  A: 

I believe that -[NSImage size] returns the size in points, not pixels. That's why NSImageRep has both a size method and pixelsHigh and pixelsWide methods. Your image is apparently not at a 72 dpi resolution.

JWWalker