P i*_*P i 3 antialiasing calayer ios
我试图在屏幕上绘制这个图像:

这是代码:
CALayer* dullLayer = [CALayer layer];
{
dullLayer.frame = CGRectMake(0,0,BUTTON_SIZE,BUTTON_SIZE);
dullLayer.position = CGPointFromPoint2D( btnCenter );
dullLayer.opacity = topQuadrant ? 1.0 : 0.5;
[wheelLayer addSublayer: dullLayer];
}
UIImage* test = [UIImage imageNamed: @"OuterButton_Dull.png"];
dullLayer.contents = (id) [test CGImage];
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:

是什么赋予了?为什么边缘如此锯齿?将此与罗马数字图像形成对比,罗马数字图像以完全相同的方式合成到屏幕上.
我试过了
dullLayer.edgeAntialiasingMask = 0x0f; // binary 1111
Run Code Online (Sandbox Code Playgroud)
无济于事.
编辑:http://lists.apple.com/archives/cocoa-dev/2008/Feb/msg02070.html
如果您发布的结果图像与屏幕上显示的尺寸相同,那么您只是使用太大的图像.PNG图像不是矢量图像,因此将其缩小将始终产生一些混叠; 你进一步缩小它变得越糟糕.抗锯齿在这种情况下效果有限.
您没有看到数字图像的事实部分是因为它不包含任何精细,高对比度,像其他图像那样的线条,部分原因可能是因为您使用较小的图像.
如果您将原始图像作为矢量图像,请尝试将其缩小到正确的大小,然后再将其转换为PNG.如果您在应用中的其他位置需要更高分辨率的版本,请考虑创建多个PNG,每个PNG具有不同的分辨率.
如果您没有将原始图像作为矢量图像,则应尝试查找替换图像.网上有免费剪贴画文件的几个很好的来源,例如http://www.openclipart.org/或http://www.clker.com/.
| 归档时间: |
|
| 查看次数: |
2385 次 |
| 最近记录: |