获取NSBitmapImageRep的像素大小?

时间:2009-03-20 04:04:19

标签: cocoa

获取NSBitmapImageRep的大小(宽度和高度)的最佳方法是什么?

这就是我现在正在做的事情:

NSBitmapImageRep *bitmap;

NSInteger samplesPerPixel = [bitmap samplesPerPixel];
NSInteger bytesPerPlane = [bitmap bytesPerPlane];
NSInteger bytesPerRow = [bitmap bytesPerRow];
NSInteger numberOfPlanes = [bitmap numberOfPlanes];

NSUInteger numPixels = numberOfPlanes * bytesPerPlane / samplesPerPixel;
NSUInteger width = bytesPerRow / samplesPerPixel;
NSUInteger height = numPixels / width;

对于像[bitmap getWidth]一样简单的东西,似乎有很多打字......

我在互联网上看过一些查询大小的帖子(这不在文档中):

NSSize imageSize = [bitmap size];

但是这些值似乎并不代表图像的像素尺寸(例如,我得到的浮点值为122.869835而不是256,这是图像的实际像素宽度。)

1 个答案:

答案 0 :(得分:10)