计算图像点数的正确方法是什么?
Which is the right way to calculate number of points of an image?
View.Bounds 给了我值 (0.0, 0.0, 375.0, 667.0) 来帮助计算视图尺寸。和 CGImage,位图的大小给了我 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
View.Bounds 给了我值 (0.0, 0.0, 375.0, 667.0) 来帮助计算视图尺寸。和 CGImage,位图的大小给了我 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
属性.
要获取实际图像的实际宽度,请使用:
image.size.width
同样,要获取实际图像的实际高度,请使用:
image.size.height