gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:06 25 4
gpt4 key购买 nike

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

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) 以使用事件轮廓方法代替进一步的图像分割方程。

最佳答案

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

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

因此,图像的实际 大小正是图像的size 属性返回的大小。

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

image.size.width

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

image.size.height

关于ios - 计算图像点数的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36107038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com