Ios 计算图像点数的正确方法是什么?
Bounds给了我(0.0,0.0,375.0,667.0)的值来帮助计算视图尺寸。而CGImage,位图的大小给了我490像素宽和751像素高的像素数。我不明白为什么当比例因子给我2的值时,我得到的UIView边界内容大小小于CGImage像素宽度和高度。但是我如何从维度计算点数呢?我如何取出375.0和667.0进行计算?下面的代码帮助我获得视图尺寸和比例因子Ios 计算图像点数的正确方法是什么?,ios,swift,image-processing,pixels,Ios,Swift,Image Processing,Pixels,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.bou
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)
.... }
或者我可以使用(像素宽度*2+像素高度*2)来计算点数吗?我需要计算或固定点数(n),以在使用活动轮廓方法的图像分割的进一步方程式中进行替换。图像视图不会调整大小以匹配您为其设置的图像属性。您设置的图像也不会调整大小以匹配图像视图的帧 相反,图像视图显示该图像的表示形式,缩放到与图像视图匹配的任何大小(基于您选择的规则、纵横比匹配、纵横比填充、缩放到填充、其他等等) 因此,图像的实际大小正好是从图像的
size
属性返回的值
要获取实际图像的实际宽度,请使用:
image.size.width
同样,要获得实际图像的实际高度,请使用:
image.size.height
我不明白你想做什么。你到底为什么要计算图像的大小?没关系。这听起来像是XY问题。我需要计算或设置图像中的点数,以便在图像分割算法的进一步计算中使用,需要使用方程中的值。那么我如何计算或设置点数呢?哦。所以图像视图的大小不会调整为图像的大小。图像视图将显示缩放到图像视图大小的图像表示。。。但是图像本身可能有不同的大小(甚至可能有不同的纵横比)
image.size.width
和image.size.height
提供实际图像的真实测量值。哦,好的。根据给定的建议工作。非常感谢。太好了,答案对我很有用。你能不能提供它作为一个答案,这样我就可以选择它,并提到这个问题的答案?再次感谢你,我被大小和界限弄糊涂了。