我应该在Android应用程序中使用哪种图像格式?

时间:2012-11-23 13:05:43

标签: java android graphics

我正在为Android编写游戏,我想知道我应该在游戏图形中使用哪种图像。

我告诉客户以尽可能高(合理)的分辨率创建艺术作品,我会将其缩小但最近我被告知 SVG 会比纯 PNG更好,例如,因为Android设备使用了很多分辨率,因此必须缩放图像。大多数图形将是静止的背景或对象,但会有一些动画。我将使用AnimationDrawable

是否有一些图形文件格式的一般准则(我查看了android developer网站但没有找到任何内容)或者只是选择我现在拥有的任何内容?

2 个答案:

答案 0 :(得分:4)

  

最近我被告知SVG比普通的PNG更好

Android本身不支持SVG。有第三方库支持SVG,例如this one

  

因为Android设备使用了很多分辨率并且图像必须缩放

如果这是你的平面设计师告诉你的字面意思,你需要聘请一位不同的平面设计师。很快。

解决方案通常毫无意义。重要的是屏幕尺寸,更重要的是图形,屏幕密度。 Android支持不同密度的图像的多个版本,并且还可以将图像从一个密度重新采样到另一个密度,因此您可以“拨入”您希望直接支持的密度。以下是有关屏幕密度的a blog post from yesterday,Android文档中也有大量内容。

现在,您的图形设计师可能会“内部”使用SVG并生成密度缩放的PNG文件供您使用 - 这非常合理。

答案 1 :(得分:1)

  

是否有一些图形文件格式的一般准则

是的,here。它说

  

Android支持三种格式的位图文件: .png (首选), .jpg (可接受), {{1 (气馁)。

SVG drawables没有本机支持,但有些库支持SVG

请参阅SVG support on Android

您通常会将SVG图像转换为每个密度的像素图像。 Android还为Menu icons

等图标定义了一些标准尺寸

拥有用作SVG的图像源并不是一个坏主意。 SVG和其他基于矢量的图形通常比像素图形更好地缩放到不同的尺寸。特别是如果您需要放大图像(例如Play商店中使用的hi-res icons)。

另外要小心.gif,它并不适用于全屏动画。只是小动画图标等。