计算图像点数的正确方法是什么?

Which is the right way to calculate number of points of an image?

View.Bounds 给了我值 (0.0, 0.0, 375.0, 667.0) 来帮助计算视图尺寸。和 CGI​​mage,位图的大小给了我 490 的像素数 - 像素宽度和 751 - 像素高度。我不明白为什么当比例因子给我的值为 2 时,我得到的 UIView 边界内容大小小于 CGImage 像素宽度和高度。但是我如何从维度计算点数?如何取出 375.0 和 667.0 并计算?下面的代码帮助我获得了视图尺寸和比例因子。

let ourImage: UIImage? = imageView.image
let viewBounds = view.bounds
print("\(viewBounds)")
var scale: CGFloat = UIScreen.mainScreen().scale
print("\(scale)")

这是我用来接收像素高度和宽度为 490 * 751 的代码。

public init?(image: UIImage) {
    guard let cgImage = image.CGImage else { return nil }

    // Redraw image for correct pixel format
    let colorSpace = CGColorSpaceCreateDeviceRGB()

    var bitmapInfo: UInt32 = CGBitmapInfo.ByteOrder32Big.rawValue
    bitmapInfo |= CGImageAlphaInfo.PremultipliedLast.rawValue & CGBitmapInfo.AlphaInfoMask.rawValue

    width = Int(image.size.width)
    height = Int(image.size.height)
 .... }

或者我可以使用 (pixelWidth * 2 + pixelHeight * 2) 来计算点数吗?我需要计算或固定点数 (n) 以使用活动轮廓方法代替进一步的图像分割方程。

图像视图不会调整大小以匹配您为其设置的图像 属性。您设置的图像也不会调整大小以匹配图像视图的框架。

相反,图像视图呈现缩放到与图像视图匹配的任何大小的图像表示(基于您选择的规则、纵横比适合、纵横比填充、缩放填充等)。

因此图像的 实际 大小与图像 size 属性.

中的 returns 完全相同

要获取实际图像的实际宽度,请使用:

image.size.width

同样,要获取实际图像的实际高度,请使用:

image.size.height