【发布时间】:2014-03-14 15:06:49
【问题描述】:
我正在尝试创建自定义 annotationView。 我有一个 base.png 图像,其参数为 60x100 像素,分辨率为 72 像素/英寸。
在我的自定义 Annotation 对象中,我使用以下方法设置 annotationView 的图像:
-(MKAnnotationView *)annotationView
{
MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:self reuseIdentifier:@"MyAnnotation"];
annotationView.image = [UIImage imageNamed:@"base.png"];
return annotationView;
}
除了自定义 annotationView 的分辨率之外,一切都按预期工作。看起来像这样:
虽然,原图是这样的:
如您所见,它看起来过大,像素清晰可见。我没有任何前端经验可言,我不太了解分辨率以及 UIImage 如何通过调用 imageNamed 方法在后台设置其图像。
这里有什么问题?我是否需要更高分辨率的图像开始或不同尺寸的图像或其他东西??? iOS 如何将原始 .png 图像(它的大小、分辨率等)转换为实际显示在设备上的图像?
【问题讨论】:
-
你展示的图片的文件名是什么?
-
如果是 base.png -- 使用 1:1 并将在视网膜上放大。
-
是base.png。因此,为了避免放大图像并使我的图像更清晰,我需要创建两倍于分辨率的附加图像,并将其命名为 base@2x.png,就像@Moshe 推荐的那样?
标签: ios objective-c uiimage