代码之家  ›  专栏  ›  技术社区  ›  alexyorke

图像目标c的维数

  •  1
  • alexyorke  · 技术社区  · 14 年前

    我想知道如何用objective-c检索图像的维度。不幸的是,我在google和文档中搜索都没有成功。

    4 回复  |  直到 14 年前
        1
  •  9
  •   dreamlax    14 年前

    NSImage 有一个 size 方法,返回 NSSize 包含图像宽度和高度的结构,或 {0, 0} 如果大小无法确定。

    NSImage *image = [NSImage imageNamed:@"myimage.png"];
    
    NSSize dimensions = [image size];
    
    NSLog (@"Width: %lf, height: %lf", (double) dimensions.width, (double) dimensions.height);
    

    编辑:

    我已将显式类型转换为 double 因为在某些系统(尤其是64位)上 width height 成员不能是 float 类型但是 双重的 ,我们将提供错误的类型 NSLog . 一个 双重的 可以表示比 浮动 ,所以我们可以 向上的 更安全一点。

        2
  •  6
  •   Simon Whitaker    14 年前

    在iOS中, UIImage 有一个 size 属性,它返回 CGSize .

    在OS X中, NSImage 有一个 大小 返回 NSSize . 它还有一个 representations 属性,它返回 NSArray 属于 NSImageRep 物体。 NSImageRep公司 有一个 大小 方法。

        3
  •  0
  •   Jens Ayton    14 年前

    这个 size 方法对于点大小是正确的。有时需要像素尺寸而不是标称尺寸,在这种情况下,必须选择图像代表( NSImage s可以有几个)并查询 pixelsWide pixelsHigh 财产。(或者,使用 CGImage 使用 CGImageGetWidth() CGImageGetHeight() .

        4
  •  0
  •   daniel.gindi    11 年前

    您可以使用 增加 剖面图 https://github.com/danielgindi/drunken-danger-zone

    我最近才写的,看起来还不错。

    这段代码实际上会打开文件并检查标题的尺寸(=它真的很快),并且支持PNG、JPG、GIF和BMP。虽然我真的希望你不要在移动设备上使用BMP。。。

    享受吧!

    推荐文章