【问题标题】:How can I easily change the overall opacity of a bitmap context using Quartz2D?如何使用 Quartz2D 轻松更改位图上下文的整体不透明度?
【发布时间】:2010-06-23 02:59:10
【问题描述】:

我想使用我用来在我的一个视图中绘制静态图像的位图上下文之一创建淡出效果。在将位图上下文渲染到视图之前,有什么简单的方法可以动态调整位图上下文的整体不透明度?

非常感谢您的帮助!我现在要继续研究这个。

【问题讨论】:

    标签: iphone ipad core-graphics quartz-graphics quartz-2d


    【解决方案1】:

    如果您将上下文(作为图像)绘制到另一个上下文中,您可以在目标上下文中使用它:

    CGContextSetAlpha( otherContext , ... );
    

    如果上下文不会改变,您可能只是淡出它所绘制的视图(或图层):

    view.alpha = ...;
    view.layer.opacity = ...;
    

    【讨论】:

      【解决方案2】:

      您可以在绘制 CGImageRef 之前使用 CGContextSetAlpha()(并保存和恢复该绘图周围的上下文状态)来修改正在绘制的图像的 alpha。

      但是,通过将图像放在自己的视图中(例如使用 UIImageView)并使用动画来调整不透明度,您可能会发现更好的性能。

      【讨论】:

        猜你喜欢
        • 2019-08-27
        • 2011-07-04
        • 2012-08-06
        • 1970-01-01
        • 2016-09-02
        • 1970-01-01
        • 2016-10-19
        • 2017-04-02
        相关资源
        最近更新 更多