美文网首页iOS开发记录
iOS之图片裁剪遇到的问题(变形)

iOS之图片裁剪遇到的问题(变形)

作者: Just_go | 来源:发表于2019-11-14 17:11 被阅读0次
    bg_discountcolor_active@3x.png

    如图我们想把这张图片拉大, 但保持圆角不变, 肯定不能直接把image放大, swift提供两个方法
    let imageV = UIImageView(frame: CGRect(x: 50, y: 200, width: width, height: height))
    var image = UIImage(named: "bg_discountcolor_active")

    1. image = image?.stretchableImage(withLeftCapWidth: 8, topCapHeight: 8)
      这个方法保证图片从上面8, 左边8的像素点拉伸
    2. image = image?.resizableImage(withCapInsets: UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8), resizingMode: .stretch)
      这个方法圈出一个四面间距都为8的区域, 拉伸的时候只有这块区域变大, 只有设置了值的那个方向的区域才会被保护起来

    但是在实际使用的时候遇到的问题总是拉伸变形, 甚至会突出来一块, 查找原因
    图片尺寸11454(@3x)
    那么实际尺寸应该是38
    18, 所以拉伸的间距纵向不能超过9, 横向不能超过19, 考虑到保存圆角, 这里纵向值应该为9, 否则超过一半, 因为iOS的机制, 超出部分会向外扩张, 造成变形
    比如: image = image?.stretchableImage(withLeftCapWidth: 20, topCapHeight: 20)

    变形图.png

    相关文章

      网友评论

        本文标题:iOS之图片裁剪遇到的问题(变形)

        本文链接:https://www.haomeiwen.com/subject/uonrictx.html