【问题标题】:Get the coordinate of a right edge of a PNG in Swift在 Swift 中获取 PNG 右边缘的坐标
【发布时间】:2020-09-08 23:27:08
【问题描述】:

我正在尝试找到一种方法来检测 png 的右边缘并为其添加标签(如屏幕截图中的文本“AB”)。我目前这样做的方法是在图像顶部添加一个标签,然后设置它的左、右和顶部约束。

现在这种方法适用于 1 只特定的鞋子,但如果我添加更多不同形状和尺寸的鞋子,那么它显然不起作用,并且标签位置不在我想要的位置。

那么无论如何我可以检测到 png 图像的右边缘吗?所以我可以设置相对于图像本身而不是图像视图的约束?不确定这是否可能。

谢谢

【问题讨论】:

    标签: ios swift xcode image-processing


    【解决方案1】:

    您可以自行获取图像大小from here。然后你可以得到图像本身的纵横比,UIImageView 的纵横比(使用.bounds 属性)并进行一些几何计算。

    更新:可以帮助您的代码:

    let imageSize = yourImage.size
    let imageViewSize = yourImageView.bounds.size
    
    
    let imageAspectRatio = imageSize.height / imageSize.width
    let imageViewAspectRatio = imageViewSize.height / imageViewSize.width
    
    var rightOffset: CGFloat = 0
    
    if imageAspectRatio > imageViewAspectRatio {
        let scaleCoef = imageViewSize.height / imageSize.height
        let scaledWidth = imageSize.width * scaleCoef
        rightOffset = (imageViewSize.width - scaledWidth) / 2
    }

    【讨论】:

      【解决方案2】:

      不幸的是,鞋子的形状完全不同,因此任何纯代码解决方案都无法正常工作。

      所以我要求设计师添加一个占位符文本,然后使用ML Kit 检测框架。然后在图像顶部添加我自己的标签。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 1970-01-01
        • 2018-07-20
        • 1970-01-01
        • 2013-06-29
        相关资源
        最近更新 更多