ImageFX
通过PixelKit使用 Metal 技术
安装
Swift 包
.package(url: "https://github.com/hexagons/ImageFX.git", from: "0.1.4")
当使用 Swift 包时,在应用任何效果之前,请使用 fxMetalLib(url:)
调用连接 Metal 库。
#if os(iOS)
fxMetalLib(url: Bundle.main.url(forResource: "PixelKitShaders-iOS", withExtension: "metallib")!)
#elseif os(macOS)
fxMetalLib(url: URL(fileURLWithPath: "/path/to/PixelKitShaders-macOS.metallib"))
#endif
您可以从这里的 PixelKit 获取最新的 Metal 库 这里是。
CocoaPods
pod 'ImageFX', '~> 0.1.4'
效果
源图像
模糊
let fxImage: UIImage = image.fxBlur(0.1)
边缘
let fxImage: UIImage = image.fxEdge()
夹具
let fxImage: UIImage = image.fxClamp(low: 0.25, high: 0.75)
万花筒
let fxImage: UIImage = image.fxKaleidoscope()
级别:亮度
let fxImage: UIImage = image.fxBrightness(2.0)
级别:伽玛
let fxImage: UIImage = image.fxGamma(0.5)
级别:反转
let fxImage: UIImage = image.fxInvert()
级别:不透明度
let fxImage: UIImage = image.fxOpacity(0.5)
对比度
let fxImage: UIImage = image.fxContrast(2.0)
量化
let fxImage: UIImage = image.fxQuantize(0.125)
锐化
let fxImage: UIImage = image.fxSharpen(2.0)
斜率
let fxImage: UIImage = image.fxSlope()
阈值
let fxImage: UIImage = image.fxThreshold()
陀螺旋
let fxImage: UIImage = image.fxTwirl()
变换
let fxImage: UIImage = image.
棕褐色
let fxImage: UIImage = image.fxSepia(color: .orange)
范围
let fxImage: UIImage = image.fxRange(inLow: 0.0, inHigh: 1.0, outLow: 0.0, outHigh: 0.5)
let fxImage: UIImage = image.fxRange(inLow: .black, inHigh: .white, outLow: .black, outHigh: .gray)
饱和度
let fxImage: UIImage = image.fxSaturation(0.5)
let fxImage: UIImage = image.fxMonochrome()
色调
let fxImage: UIImage = image.fxHue(0.5)