由于性能问题,我需要先过滤小图像,然后再过滤更高分辨率的图像。
我正在使用 CICrystallize 过滤器,但对于不同的图像分辨率,我无法获得相同的结果。我正在尝试这样的事情来根据图像大小更改输入半径值:
let radiusValue = image.size.width / 15.0
filter.setValue(radiusValue, forKey: kCIInputRadiusKey)
但结果无效,如图所示。
Best Answer-推荐答案 strong>
我不知道你说的那么小是什么意思。 (调整大小?/裁剪?)
这样怎么样?如果图像和小图像是相同的方面,你可以得到一个很好的结果。
let ratio = smallImage.size.width / originalSizeImage.size.width
let radius = 30
filter.setValue(radius * ratio, forKey: kCIInputRadiusKey)
关于ios - 如何在同一图像的多个尺寸上实现相同的 CIFilter 效果,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39576510/
|