在我正在处理的应用中,我有一些UIImage
由于某种原因而出现的确非常模糊。这特别适用于我使用的两个相当小的图标(80x15和65x15)。
(更新:同时添加了iPad模拟器输出 - 就像iPad输出一样模糊)
左上角和右上角是原始图像,左下角和右下角是它们在iPad上的显示方式。我实际上抱怨这些用户非常模糊,所以不仅仅是我。
其中一个到位的代码看起来像这样(可以根据要求显示其他代码):
UIButton *bWeb = [[UIButton alloc] initWithFrame:
CGRectMake(attriboffset, height - 20.f, 65.f, 15.f)];
[bWeb addTarget:self action:@selector(clickWebLink:)
forControlEvents:UIControlEventTouchUpInside];
bWeb.userInteractionEnabled = YES;
[bWeb setImage:[UIImage imageNamed:@"button-weblink-65x15.png"]
forState:UIControlStateNormal];
[bWeb setImage:[UIImage imageNamed:@"button-weblink-highlighted-65x15.png"]
forState:UIControlStateHighlighted];
[self addSubview:bWeb];
[bWeb release];
原始图片(如果您认为它可能是实际PNG文件的格式问题):,
答案 0 :(得分:3)
确保UIButton
框架中的所有数字都被舍入/截断为整数。
答案 1 :(得分:2)
什么是attriboffset?
就像hoha所说,如果数字不是整数,你最终会得到小数偏移,设备会做一些模糊的抗锯齿来弥补这一点。数字不应该有分数。
答案 2 :(得分:0)
我认为由于某种原因,图像会被某种不必要的处理渲染,导致质量损失。
尝试将 UIButton 的contentMode
属性更改为UIViewContentModeCenter
。默认值为UIViewContentModeStretch
。
答案 3 :(得分:0)
在预览中打开图像并重新保存。