• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 在不混合的情况下使不透明的 UIView 变暗

[复制链接]
菜鸟教程小白 发表于 2022-12-12 12:06:44 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我的应用程序的背景是一个不透明的 UIImageView。在某些情况下,我想以动画方式将其从全亮度调暗到大约 50%。目前我降低了 View 的 alpha 属性,这很好用。因为 View 后面没有任何东西,所以背景图像只是变暗了。

但是,我一直在使用 Core Animation Instrument 进行分析,当我这样做时,我看到 整个背景显示为混合。如果可能的话,我想避免这种情况。

在我看来,这在合成过程中是可以实现的。如果 View 是不透明的,则可以将其与黑色混合,而没有任何东西在后面透出。不需要混合,调整像素值即可。

我想知道这是否是 UIKit 的 GPU 合成支持的东西。虽然混合不是很好,但它可能比在 CPU 上更新图像要好得多,所以我认为 CPU 方法可能不是一个好的替代品。

Another question问了这个问题,并提出了一些想法,包括设置 Alpha。不过,没有人提出一种避免混合的机制。



Best Answer-推荐答案


这里的一个重要问题是您是否希望更改为使用深色背景进行动画处理。

没有动画

准备两个不同的背景图像,然后在它们之间简单地交换。 UIImage+imageEffects库可以帮助生成变暗的图像,或者给你一些线索。

动画。

看看GPUImage - “基于 GPU 的图像和视频处理的开源 iOS 框架”。基于此,您可以将背景以较暗的方式渲染到场景中。

关于ios - 在不混合的情况下使不透明的 UIView 变暗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345355/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap