×
Namespaces

Variants
Actions

如何定义程序的图标

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
翻译:
hoolee
最后由 hamishwillee 在 22 Dec 2011 编辑
  • 第一版和第二版处理

在第一版和第二版中可以使用AIF文件来定义程序图标。AIF文件可以用来AIF编译器或使用命令行来生成。

为了命令行编译你需要定义AIF资源文件,下面是一个示例(你可以拷贝下列内容到你的程序中,如MyApp.rss)

#include <aiftool.rh>
 
RESOURCE AIF_DATA
{
app_uid=0x12345678; // change to your own application UID
caption_list=
{
CAPTION { code=ELangEnglish; caption="My app"; }
};
 
num_icons=2;
 
embeddability= KAppNotEmbeddable;
hidden=KAppNotHidden;
newfile= KAppDoesNotSupportNewFile;
}

这个文件和你的程序名一致,但后缀名为rss。因为和程序同名,建议为aif文件放一个单独的目录。

第二你需要有一个图标位图文件,你可以使用44x44和42x29尺寸的图片。一个彩色原图一个单色遮罩。然后使用bmconv来设置MBM(multibitmap文件)格式,我们可以在命令行执行如下语句:

bmconv MyApp.mbm /c12s.bmp s_m.bmp /c12b.bmp b_m.bmp

这里的s-images是42x29尺寸的,而b-images是44x44尺寸大小的。

在生成mbm文件后,可以使用aiftool来生成aif文件,可采用如下命令

aiftool MyApp MyApp.mbm
  • 第三版处理

第三版中,图片要定义在注册文件中,注册文件看起来就像

UID2 KUidAppRegistrationResourceFile
UID3 0x12345678 // change to your own UID
 
RESOURCE APP_REGISTRATION_INFO
{
app_file="MyApp";
localisable_resource_file = "\\resource\\apps\\MyApp";
localisable_resource_id =R_LOCALISABLE_APP_INFO;
embeddability=KAppNotEmbeddable;
newfile=KAppDoesNotSupportNewFile;
group_name="My own folder";
}

这里有一些需要说明的重要部分:

1、UID3这个是你程序的UID

2、app_file,这里是可执行程序名,但注意不要有扩展名

3、localisable_resource_file,这里需要程序资源文件名以及路径(不要有盘符和扩展名)

4、localisable_resource_id,资源定义名

程序信息定义在你程序的主要资源文件中,如下:

RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
{
short_caption = "My app name";
caption_and_icon =
{
CAPTION_AND_ICON_INFO
{
caption = " My application name ";
number_of_icons = 1;
icon_file = "\\Resource\\Apps\\MyApp_aif.mif";
 
}
};
}

其中重要部分为:

1、应用程序显示名(short_caption&caption)可以通过不同语言本地化

2、number_of_icons,这里用SVG为1,如果bitmap可以多个,每个位图都需要遮罩

3、icon_file,包括图的名称和路径(注意也定义了扩展名,但不需要有盘符)

  • 使用bitmap图标

如果你使用位图取代svg图,可以按如下步骤处理:

1、准备64x64的全真彩24bit图片

2、以及64x64的单色1bit遮罩图片,黑色是用来绘制的,白色做透明

3、名字要如下定义:img0.bmp和img0_mask.bmp

4、使用mifconv执行如下

Symbian\9.3\S60_3rd_FP2_SDK\epoc32\tools\mifconv.exe MyApp.mif /c24,1 img0.bmp

mifconv会自动使用遮罩图

5. 在pkg里,如下处理

"..\gfx\MyApp.mif"               -"!:\resource\apps\MyApp_reg.mif"
"..\gfx\MyApp.mbm" -"!:\resource\apps\MyApp_reg.mbm"

6. 安装后要重启手机 - 手机可能会缓存前一个图片信息

相关链接

This page was last modified on 22 December 2011, at 07:58.
65 page views in the last 30 days.
×