• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何将图像拉伸(stretch)成自定义形状(swift3)

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:17:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

enter image description here

下面的代码列表裁剪图像。我希望图像被转换/拉伸(stretch)而不是裁剪成形状。所有图像内容仍然在转换后的图片中。它看起来会有所不同。

extension UIImageView {
func addMask(_ bezierPath: UIBezierPath) {
    let pathMask = CAShapeLayer()
    pathMask.path = bezierPath.cgPath
    layer.mask = pathMask
}
  }


     let myPicture = UIImage(data: try! Data(contentsOf: URL(string:"https://scontent-iad3-1.xx.fbcdn.net/v/t31.0-8/14196150_10207770295835716_3510332720585393213_o.jpg?oh=fdb525410602f40f4735991b713e9c50&oe=596688E5")!))!
    let iv = UIImageView(image: myPicture)

  let bezierPath = UIBezierPath()
   bezierPath.move(to: iv.center)
  bezierPath.addLine(to: CGPoint(x: iv.frame.maxX, y: 0))
  bezierPath.addLine(to: CGPoint(x: iv.frame.maxX, y: iv.frame.maxY))
  bezierPath.addLine(to: CGPoint(x: 0, y: iv.frame.maxY))
  bezierPath.addLine(to: .zero)
  bezierPath.close()

 iv.addMask(bezierPath)



Best Answer-推荐答案


看看这个帖子:

Warp \ bend effect on a UIView?

讨论了几种解决方案,包括使用核心图像过滤器,或使用 OpenGL 构建您自己的“网格扭曲”。

还有Brad Larson open source framework GPUImage on Github .您也许可以使用该框架构建一个过滤器来做您想做的事情。

关于ios - 如何将图像拉伸(stretch)成自定义形状(swift3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42861078/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap