最佳答案
我相信设计师的意思是斜面和浮雕效果。这是 UIImage 上的示例扩展,用于使用着色器图像应用浮雕效果。
extension UIImage {
func applyBevelAndEmboss(shadingImage: UIImage) -> UIImage {
// Create filters
guard let heightMapFilter = CIFilter(name: "CIHeightFieldFromMask") else { return self }
guard let shadedMaterialFilter = CIFilter(name: "CIShadedMaterial") else { return self }
// Filters chain
heightMapFilter.setValue(CIImage(image: self),
forKey: kCIInputImageKey)
guard let heightMapFilterOutput = heightMapFilter.outputImage else { return self }
shadedMaterialFilter.setValue(heightMapFilterOutput,
forKey: kCIInputImageKey)
shadedMaterialFilter.setValue(CIImage(image: shadingImage),
forKey: "inputShadingImage")
// Catch output
guard let filteredImage = shadedMaterialFilter.outputImage else { return self }
return UIImage(ciImage: filteredImage)
}
}
请向设计师索取着色器图像并将其应用于平面图像。
我个人的看法是,最好从设计师那里获取处理后的图像并使用它,而不是在应用程序中执行所有这些处理。
关于ios - 给 UIView 添加斜角效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53426915/