如何获得像屏幕捕获效果一样的屏幕闪光效果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得像屏幕捕获效果一样的屏幕闪光效果?相关的知识,希望对你有一定的参考价值。

是否有任何方法可以获得闪存屏幕效果,如某个NSView时根据需要截屏时产生的效果?我的问题不是flashing screen programatically with Swift (on 'screenshot taken')的重复,因为我需要osx的解决方案,而不是ios,方法是不同的。

答案

实现这一目标的方法是创建一个与屏幕大小相同的新UIView,并使用黑色,将其添加到视图的子视图中,然后将alpha动画设为零(播放持续时间以达到所需效果)完成后从superview中删除视图。

我在很多项目中都使用过这种技术,它就像一个魅力。您可以使用视图的背景颜色来自定义闪光灯的外观。

另一答案

这样的事可能有用

func showScreenshotEffect() {

let snapshotView = UIView()
    snapshotView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(snapshotView)

    let constraints:[NSLayoutConstraint] = [
        snapshotView.topAnchor.constraint(equalTo: view.topAnchor),
        snapshotView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
        snapshotView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
        snapshotView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
    ]
    NSLayoutConstraint.activate(constraints)

    snapshotView.backgroundColor = UIColor.white

    UIView.animate(withDuration: 0.2, animations: { 
        snapshotView.alpha = 0
    }) { _ in
        snapshotView.removeFromSuperview()
    }
}

以上是关于如何获得像屏幕捕获效果一样的屏幕闪光效果?的主要内容,如果未能解决你的问题,请参考以下文章

OPENCV 桌面捕获第二部分

如何根据设备/屏幕分辨率调整屏幕?

前端模拟手机屏幕图片渐隐渐现效果实现

请问怎样用VB6.0做出文字在屏幕上流动的效果啊?像千千静听的歌词秀那样谢谢!

如何更改 SwiftUI 编辑的微光效果的颜色

如何在屏幕抓取中捕获鼠标光标?