- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读本教程,iOS 7 Blur Effects with GPUImage .我看过文档,这个变量的意思是x px/y pt
。但是我没有得到这行代码。
_blurView.layer.contentsScale = (MENUSIZE / 320.0f) * 2;
这行背后的逻辑是什么?我应该如何确定代码中的 contentsScale
?
如果我不设置默认为 2.0 的 contentsScale
,则屏幕如下所示:
但是我设置为(MENUSIZE/320.0f) * 2
后,画面是:
这很奇怪,因为 contentsScale
减小了,但图像变大了。 MENUSIZE
为 150.0f。
最佳答案
contentsScale
确定后备存储位图的大小,以便位图可以在非视网膜和视网膜屏幕上工作。
假设您制作了一个图层 (CALayer),您打算在其中绘制。假设它的大小是 100x100。然后为了使该层在双分辨率屏幕上看起来不错,您需要将其 contentsScale
设置为 2.0
。这意味着在幕后位图是 200x200。但是它经过了转换,因此当您绘制它时仍然将其视为 100x100;您像往常一样以点为单位进行思考,并且后备存储被缩放以匹配视网膜设备的双倍像素。
在大多数情况下,您不必担心这一点,因为如果一个层是 View 的主要层,它的 contentSize
会自动为当前设备设置。但是,如果您自己创建了一个层,用代码,从整个布料中取出,然后根据主 UIScreen 的比例设置其 contentsScale
由您决定。
关于ios - CALayer.contentsScale 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23888611/
我正在阅读本教程,iOS 7 Blur Effects with GPUImage .我看过文档,这个变量的意思是x px/y pt。但是我没有得到这行代码。 _blurView.layer.cont
我有一个 CAShapeLayer,我用它在条形图中绘制小点。问题是它们在视网膜显示器上都太大了。我已设置 contentsScale 并检查它是否已设置。我仍然看不出有没有它有什么区别! CASha
在documentation Apple 声明在以下情况下您需要考虑层的比例因子: Creates additional Core Animation layers with different sc
我是一名优秀的程序员,十分优秀!