- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 EAGLView 层上渲染了一个 opengl 场景,并在 UIView 上渲染了一些其他元素(圆圈等)(它是 EAGLView 的同级,位于其上方)。是否可以在两层之间混合颜色?我想做一些差异混合以获得 EAGLView 颜色的反转效果。
我一直在使用 CGBlendMode,但它似乎只影响我在当前 View 中绘制的内容。我认为这与 CGContext 有关,但我对细节有点模糊,我可以强制 UIView 和 EAGLView 具有相同的 CGContext 以便它们之间进行混合吗?
非常感谢帮助、更正、澄清。提前致谢,-S
1 Câu trả lời
简短的回答是你不能。长答案如下。
vượt quaEAGLXem
,您必须指的是包含在Xcode 的OpenGL ES 模板中的UIView
的子类。该类的特殊之处在于,layerClass
类方法被重写,并返回 CAEAGLLayer
类,而不是默认的 CALayer
类。
UIView
Và CALayer
成对工作。所有 UIView
对象都由 CALayer
支持,CALayer
是负责布局和渲染到屏幕的对象。 UIView
Đúng CALayer
的委托(delegate),负责在需要时绘制其图形。
CALayer
将让它的委托(delegate)(UIView
)绘制到 CGContextRef
中。每个 UIView
都有一个上下文,因此您不能使用 CGBlendMode
来混合多个 View ,因为它只能在一个 UIView 上下文中运行。
CALayer
的混合应使用过滤器属性来完成。这些是为 iPhone 操作系统定义的,但根据文档,可用的过滤器未定义。这是因为 Core Image 目前在 iPhone 操作系统上不可用。
关于iphone - 如何在 UIView 和 EAGLView 之间进行混合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1401607/
Tôi là một lập trình viên xuất sắc, rất giỏi!