yingLanNull / ShadowImageView

🔥可以根据图片内容变阴影颜色,更加细腻的阴影效果 It can change color according to the picture, more delicate shadow effect
Apache License 2.0
2.62k stars 304 forks source link

与原repo的创意相近但方式不同 #3

Closed seasonyuu closed 7 years ago

seasonyuu commented 7 years ago

在PPMusicImageShadow的代码中有这样一段代码

    func applyBlur(ciimage : CIImage) -> UIImage?{

        let overlay = CIImage.init(color: CIColor(color: UIColor(white: 0.0, alpha: 0.3)))
        overlay.cropping(to: ciimage.extent)

        if let filter = CIFilter(name: "CIGaussianBlur") {

            filter.setValue(ciimage, forKey: kCIInputImageKey)
            filter.setValue(blurRadius, forKey: kCIInputRadiusKey)
            let context = CIContext(options: nil)
            if let output = filter.outputImage,
                let cgimg = context.createCGImage(output, from: ciimage.extent)
            {

                return UIImage(cgImage: cgimg)
            }
        }

        return nil
    }

根据这段代码我们可以猜测到,原来的实现方案应该是将图片资源进行高斯模糊然后绘制到View的底部,希望对你接下来的开发有帮助

yingLanNull commented 7 years ago

非常感谢支持,开始我想到了模糊方式,后来为了简单快速实现选择了现在的方式,有时间再试验其他方式的实现。希望有更多的像你一样的人参与改进或者有更好的实现方式。