5.10使用Paint.NET从OpenClipArt.org创建Easy Launcher图标



问题

你想把你的应用程序与别人分开,让它看起来更专业。

OpenClipArt.org是一个很好的免费图形源,你可以适应作为一个图标为您的应用程序。

讨论

当开发人员准备发布他的应用程序时,他必须确定他需要做什么才能为Android Market准备好应用程序。他必须做的一件事是提供一个好的图标。该图标通常是用户遇到的应用程序的最常见的图形表示。它将代表应用程序在应用程序屏幕上,管理应用程序,如果添加到主屏幕的快捷方式。一个好的图标有助于培养应用程序的积极的第一印象,并帮助应用程序在人群中脱颖而出。开发者可以访问一个图形艺术家,无论是专业或通过朋友,或谁是好的艺术家自己将有更好的图形在他们的应用程序中的控制。然而,许多开发人员发现,在应用程序中创建图形是一件烦恼。这个食谱显示了如何快速生成好的图标,虽然损害了由专门的艺术家提供的精细控制。

​http://www.openclipart.org上的Open剪贴图库提供超过33,000个免费图形。提供的图形是矢量格式,这使它们非常适合缩放到图标大小。图标采用光栅格式,因此一旦选择了合适的图形,您需要将其转换为Android图标格式,即便携式网络图形(PNG)。​

对于这个食谱,我们将添加一个图标到在例1.13中创建的“Hello,World”应用程序。

首先,找到一个合适的免费图形作为起点。转到http://www.openclipart.org并使用搜索框。搜索结果可以包括并不总是显示为逻辑的图形。这是因为搜索不仅包括图形的名称,而且包括标签和描述,以及部分字;因此,将出现与主要搜索术语无关的图形,以及带有拼写错误或其名称使用不同语言的作品。然而,这也意味着偶尔会发现一个意想不到的但合适的图形。通过搜索结果的页面,作为缩略图提供标题,贡献者名称和提交日期,以及下载次数。

当寻找一个图形用作图标时,有一些指针要牢记:

•有一个推荐的调色板适合Android主题;这只是一个建议,但它是一个有用的指南(见图5-14)。避免任何太极端的颜色。



图5-14。调色板

•图形将显着缩小,因此不要选择过多的细节。搜索结果缩略图本身是一个很好的指标。

•清晰简单的设计,平滑的线条和明亮,中性的颜色将缩放和在设备屏幕上看起来不错。

•请注意Android设计指南,网址为:http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html;图形表示应该面对,具有小的阴影和顶部照明。

•图标是正方形,因此查找图像,如果以正方形为边界,将填充该正方形的大部分。

对于Hello,World应用程序,我使用搜索项earth(见图5-15)。



图5-15。剪贴画搜索结果

我选择了一个名为“一个简单的地球仪”的图形。单击图形以显示其详细信息。您可以通过单击图形(或单击View SVG按钮)并使用浏览器的文件菜单将图形保存到本地计算机。在Firefox中,选择“另存为页面”并选择其位置。在Internet Explorer中,选择“另存为...”;或者,两种浏览器都支持Ctrl-S。这将把文件保存为一个矢量文件,正如我们前面讨论的,这不是一个好的图标格式。幸运的是,图像的打开剪贴画页面也有一个选项,以获取PNG文件的文件。



Android图标需要提供四种不同的大小,以便Android可以显示设备的屏幕密度最好的图标。建议应用程序提供所需的所有图标大小,以防止在某些设备上显示不良图标。四个图标大小为:

•36×36像素用于低密度显示器(120 dpi)

•对于中等密度显示器,为48×48像素(160 dpi)

•72 x 72像素用于高密度显示器(240 dpi)

•96 x 96像素用于超高密度显示器(320 dpi)

还有一个边界要考虑;边框区域允许间距和图像超限,建议为图标宽度的十二分之一(见图5-16)。



图5-16。图标边框区

这意味着图标图形的实际图像大小小于规定的图标大小:

•30×30像素,用于低密度

•40×40像素,适用于中等密度

•60×60像素,高密度

•80×80像素,用于超高密度

在所需图形的打开剪贴画页面上,我们可以使用PNG按钮获得所需的四种图像尺寸的PNG。在PNG按钮旁边的框中输入所需的第一个图像大小,80(用于超高密度图标;请参见图5-17)。我们不能放入图标大小,96,因为这不会留下任何边框。



图5-17。转换为尺寸为80的PNG

单击PNG按钮,然后使用浏览器的文件菜单(或Ctrl-S)保存生成的PNG文件。按浏览器的返回按钮返回图像的网页。清除PNG按钮旁边的框,并输入所需的下一个图标图形的大小,在这种情况下,高密度图标为60。再次单击PNG按钮并保存生成的文件。对值40和30执行相同操作以生成其他两个图形。

可能会出现几个问题。有时,转换仍然会产生先前大小的图形。如果发生这种情况,请重新加载图像的打开剪贴画页面(单击地址栏,光标在地址末尾,按Enter键;使用F5不会清除问题)。图形也可能无法转换为PNG。在Firefox中将显示一条消息,指出该图形包含错误;在Internet Explorer中有一个X的小框中将显示。如果图形无法转换,请选择其他图像或下载SVG文件,并使用支持SVG的图形应用程序。或者,在图像的打开剪贴画页面上显示图形本身的上下文菜单,并将其保存为全尺寸PNG(您可以在图形应用程序中调整其大小,并重置透明度)。

在所选图形上使用PNG按钮后,将有四个文件,每个文件包含四个分辨率相同的图像(图5-18)。图形文件可能不是完美的方形 - 例如,它们可以是39×40而不是40×40,但是小的差别不重要。


图5-18。地球象在各种各样的大小

您需要通过添加空边框将文件大小调整为正确的图标大小。您可以在图形应用程序中执行此操作,例如GIMP(http://www.gimp.org),Inkscape(http://inkscape.org/)或Paint.NET(http://www.getpaint.net ;仅Windows)。对于这个食谱,我们将使用Paint.NET。

在Paint.NET中,打开第一个图形文件。通过选择窗口菜单选项,然后选择颜色(或按F8)将辅助(背景)颜色设置为透明度;在“颜色”对话框上确保在下拉列表中选择“辅助”,然后单击“更多”按钮以查看高级选项。将颜色对话框右下角的透明度选项设置为零(参见图5-19)。



图5-19。颜色选择调色板

接下来,使用图像菜单选项并选择画布大小(或按Ctrl-Shift-R)打开“画布大小”对话框。选择“按绝对大小”单选按钮,但忽略“保持宽高比”复选框;如果图形是正方形,则可以选中此复选框,如果不是,则应取消选中。在“像素大小”选项中,给定图形的图标设置正确的宽度和高度 - 30×30图形的图标均为36,40×40图形的图形均为48,60×60图形的图形均为72, 96为80×80图形。将锚点选项设置为Middle。选择“确定”。



保存调整大小的图像,并重复其他三个图形,完成四个PNG图标文件,大小为36,48,72和96(见图5-18)。



四个文件现在需要被复制到项目,其中的图标是被使用。在项目目录中,每个图标都放置在每个dpi设置的res文件夹下的文件夹中。如果项目在Eclipse中,res文件夹可能已经包含drawable-hdpi,drawable-ldpi和drawable-mdpi文件夹,所有文件夹都使用默认图标。现有图标替换为新创建的图标;在该过程中添加用于xhdpi的文件夹;它被称为绘-xhdpi见图5-20)。表5-1提供了摘要。



图5-20。图标文件夹

表5-1。图标格式化摘要



注意,QVGA代表“四分之一VGA”(VGA是原始IBM PC的型号上的“高级”640×480视频),HVGA是半VGA,等等。图标文件不需要被称为icon.png。只要所有“drawable”文件夹中的所有文件名都是有效且相同的,他们可以命名为别的。例如,图标文件可以称为globe.png。如果文件名从默认值更改,清单文件中应用程序元素中的android:icon属性也需要从图标更改为全局。打开AndroidManifest.xml文件。找到应用程序元素并将android:icon =“@ drawable / icon”更改为android:icon =“@ drawable / globe”。

记住要感谢免费的东西;在这种情况下,我感谢Open Clipart库贡献者“jhnri4”