`
wangshu3000
  • 浏览: 135073 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

在Symbian程序中使用图标!

阅读更多

Symbian中的图片主要两种:程序图标(像Win里的桌面图标和程序左上角的图标),界面用到的图片(各种美化用的图片)。

1.图标的使用

利用PhotoShop,画图等图片编辑工具,分别制作24*24,32*32,24*24三种大小的图片(Symbian中各种视图显示用),需要设置成透明的部分用一种颜色填充(最好能与要显示的部分区别开来),最后存储为.BMP格式。

启动AIFBuilder,选择New新建一个工程,选择Action->create mbm,出现一个新的界面,有三个标签分别对应三种分辨率;在每个标签里分别选择File->load载入相应大小的图片,这时左面的编辑区显示出刚刚载入的图片,选择左面第三个按钮(像索套的那个按钮),选择不需要显示的部分,这时右面编辑区出现一个黑白的图片,叫做掩图,其中黑色部分是将来要显示的部分,白色是设为透明的部分。编辑好相应的掩图后,点击Action-Generate,进行部分选项的设置。点击Generate按钮,生成6个图片(三个原图,3个掩图),一个.mbm文件(6个图片的整合),一个.mkg(?)文件,一个.rss文件(保存一个图片的枚举)……

2.图片的使用………………

 

总结:

一. 前言

图片在S60中主要分两种用途,一种是做为应用程序的图标(像Windows的桌面图标)显示在程序启动列表中,一种是起美化作用的图片。下面分别说明具体用法。

二. 概念的解释

.mbm文件

S60在访问图片时并不是访问.bmp本身,而是访问经过压缩之后的.mbm文件。

掩图

S60要显示的图片必须有一个与其对应的掩图文件,掩图中用黑色表示显示的部分,而用白色部分表示不显示部分,存储为黑白位图格式。

.aif文件

存放应用程序图标和标题,以及其他一些与应用程序性能相关的信息。没有aif的应用程序会显示默认得系统图标(蓝色像拼图的那个图标)和与文件名相同的标题。

三. 图标的使用

首先利用图片编辑工具(PhotoShop,画图等)制作同样内容的图片3张,大小分别为:48*4832*3224*24(单位像素),存储为扩展名为.bmp的位图格式文件。

比如: ……(怎么不能上传图片?)这三张图片将分别在不同的视图中显示。

打开AIFBuilder,选择File->New,在第一个标签中输入应用程序名和UID;在第二个标签输入要生成mbm文件的路径,掩图的路径和其他临时文件的路径;在第三个标签选择语言;最后一个标签用默认设置。(需要注意:UID要和.mmp中第二个UID一致)

选择菜单Action->Create MBM,分别load三种大小的图片并编辑对应的掩图(点击按钮……(怎么不能上传图片?),选择不需要显示的像素点,再右面的编辑区会自动生成掩图),点击保存。

将生成的6张图片(三张原图,三张掩图)和一个.rss文件复制到工程目录下的aif目录下,没有的话需要手动建一个。

编辑工程的.mmp文件,加入AIF定义:

AIF HelloWorldPlus.aif ..\aif HelloWorldPlus.rss \ c24 helloWorldPlusicon.bmp helloWorldPlusiconmask.bmp helloWorldPlusicon_lst.bmp helloWorldPlusicon_lst_mask.bmp

HelloWorldPlus.aif是指定要生成的aif的名称,\aif是指定aif文件使用的.rss.bmp等文件的源目录, HelloWorldPlus.rss 是刚才工具生成的Rss文件名称, \24说明是24位色深的图片,后面分别按顺序列出图片名称,屏蔽的位图必须紧跟相应的原图,中间以空格分隔。

进入工程目录的/group文件夹。

bldmake bldfiles生成abld.bat文件。

abld makefile vc6重新生成工程。

abld build wins udeb 重新编译工程。

启动SDK,就可以看到程序的新图标了。

四. 图片的使用

用同样的方法制作图片和对应的掩图,存放到工程目录下的datasrc目录。

编辑工程的.mmp文件,加入.mbm的定义:

 START BITMAP HellWorldPlus.mbm ―――标记位图转换数据的开始,并指定.mbm多重位图文件的文件名

 HEADER ―――指定创建符号ID文件HelloWorldPlus.mbg,文件包含一个枚举,分别代表每个图片。

 TARGETPATH \system\apps\HELLOWORLDPLUS

 SOURCEPATH ..\DataSrc ―――指定位图文件的存放位置

 SOURCE C24 2_24x24i.bmp ―――依次列出一个或多个要放入.mbm中的位图文件的色深和文件名。

 SOURCE C24 2_24x24m.bmp

 SOURCE C24 2_32x32i.bmp

 SOURCE C24 2_32x32m.bmp

 SOURCE C24 2_48x48i.bmp

 SOURCE C24 2_48x48m.bmp

 END ―――标记位图转换数据的结束

进入工程目录下的group目录,运行abld build wins udeb,自动在编译目录下(C:\Symbian\7.0s\Series60_v21_C\Epoc32\release\wins\udeb\z\system\apps\HELLOWORLDPLUS\)生成.mbm文件并在epoc/include目录下生成.mbg文件。生成的.mbg文件的内容是:

 // HELLWORLDPLUS.mbg

 // Generated by BitmapCompiler

 // Copyright (c) 1998-2001 Symbian Ltd. All rights reserved.

 //

 

 enum TMbmHellworldplus

 {

 EMbmHellworldplus2_24x24i,

 EMbmHellworldplus2_24x24m,

 EMbmHellworldplus2_32x32i,

 EMbmHellworldplus2_32x32m,

 EMbmHellworldplus2_48x48i,

 EMbmHellworldplus2_48x48m

 }; ―――在接下来的资源文件中要用到这些枚举值。

编辑资源文件,加入include语句#include <helloworldplus.mbg>,在需要设置图片的部分(比如一个Dialog)添加bmp资源的定义:

 items =

 {

 DLG_LINE

 {

 type = EAknCtQuery;

 id = EGeneralQuery;

 control = AVKON_CONFIRMATION_QUERY

 {

 layout = EConfirmationLayout;

 bmpfile = “*”; ――指定mbm文件的路径,如果使用*号,.mbm文件和.app文件的文件名必须相同,并且必须位于同一个目录中。否则要用#define定义一个,比如:#define AKNEXLIST_BMP_FILENAME "\\system\\apps\\aknexlist\\aknexlist.mbm"

 bmpid = EMbmHellworldplus2_24x24i; ――前面.mbg文件中 的枚举值,这是要显示的图片

 bmpmask = EMbmHellworldplus2_24x24m; ――前面.mbg文件中的枚举值,这是掩图

 };

 }

 };

定义好资源文件,图片就可以正常的显示了,如果要对图片进行操作(如改变图片)就要编写源代码来实现,iEikonEnv->CreateIconL( KAknExListMbmFileName, EMbmAknexlistCheck, EMbmAknexlistCheckm )这将创建一个图片对象。

分享到:
评论

相关推荐

    Symbian 平台下的mif图标制作工具

    5. 输出MIF文件:完成编辑后,工具会将所有图标组合成一个MIF文件,方便在Symbian应用中使用。 在使用MIF图标制作工具时,有几点需要注意: 1. 图标设计:图标的设计应简洁明了,因为小尺寸的图标可能无法展示复杂...

    anna图标,矢量

    在"Anna图标"的案例中,选择MIF格式,无疑是为了保证图标在不同的屏幕尺寸和打印质量下都能呈现出最佳效果。 "Anna图标"的特色在于其设计风格。"Anna"可能代表了一种特定的设计理念或者是为了致敬某个人物,无论...

    Symbian应用程序架构 总结

    在基于控件的传统Symbian OS架构中,CcoeControl是所有控件的基础,开发者可以通过继承CcoeControl来创建自定义控件,尽管这需要更多的编码工作,但提供了极高的灵活性。 总结来说,Symbian应用程序架构提供了丰富...

    Symbian S60v5 编程中的程序图标更换问题

    4. **SVG兼容性**:并非所有的SVG文件都能直接在Symbian系统中使用。可能存在某些特定的SVG语法或结构导致图标无法正确解析。如果遇到此类问题,建议使用一个简单且兼容性好的SVG文件进行测试,以确认问题是否出在...

    symbian例子程序,对初学者很有用

    这些例子程序可以帮助理解Symbian操作系统的工作原理、API的使用方法以及如何在该平台上构建应用程序。 在Symbian开发中,“Dialog”是一个关键概念,它指的是用户界面中用于显示特定信息或获取用户输入的小窗口。...

    Nokia Swipe PNG图标集合

    在使用Nokia Swipe PNG图标集合时,开发者或UI设计师需要将这些图标集成到应用程序或系统界面中,这通常涉及到资源管理、图标适配和界面布局等方面的工作。在不同分辨率的设备上,可能需要对图标进行适当的缩放或...

    海贼王图标

    PNG是一种无损压缩的图像格式,支持透明度,适用于高质量的图像展示,且被广泛应用于网页和应用程序图标。ICO则是Windows操作系统下的图标文件格式,它可以包含多个尺寸和颜色深度的图像,以便在不同的显示环境下都...

    saiban塞班直签

    2. `s60sign.ico`:图标文件,可能是塞班直签工具的图标资源,用于在桌面或程序界面中显示,帮助用户识别该工具。 使用【塞班直签】时,用户需要注意以下几点: - 确保你拥有塞班软件的源代码或者合法的安装文件,...

    Carbide C++工具编写Symbian S60程序范例实例

    2. **EPOC Root**:Symbian开发中的一个重要概念是EPOC Root,这是安装SDK后的一个目录,包含了运行Symbian应用程序所需的所有系统文件和库。 3. **Project Creation**:在Carbide C++中创建一个新的Symbian项目,...

    塞班S60手机SISSIX软件免证书直签安装平台s60sign使用教程分享.pdf

    塞班S60手机SISSIX软件免证书直签安装平台s60sign使用教程分享 本文将为大家分享一个非常实用的塞班S60手机SISSIX软件免证书直签安装平台s60sign使用教程,旨在帮助S60平台手机用户解决软件签名的麻烦问题。下面将...

    Symbian 开发的一些小技巧

    在 Symbian 开发中,让程序在安装后自动运行是一个常见的需求。我们可以在 PKG 文件中添加“FR, RI”参数来实现这个功能。“FR”表示“File Run”,而“RI”则表示“Run during Installation”。需要注意的是,务必...

    Symbian 简单时钟代码

    6. **资源文件(RSC)**: Symbian应用程序通常包含RSC资源文件,用来定义UI布局、图标和其他图形元素。开发者可能在这部分代码中设置了时钟的样式和外观。 通过学习和分析这个源码,开发者不仅可以了解Symbian的GUI...

    塞班贝拉插件

    塞班贝拉,全称为Symbian Belle,是塞班平台的一个重要更新,它在原有的塞班 Anna 系统基础上进行了多方面的改进和优化,提升了用户体验。 塞班贝拉系统引入了更多的动态壁纸和个性化选项,增强了用户界面的美观度...

    symbian 入门教程 精品资料.pptx

    Symbian操作系统是一个经典的移动设备操作系统,主要用于智能手机和平板电脑。本教程将带你进入Symbian开发的...在实际开发过程中,还需要掌握Symbian的API使用、内存管理和线程管理等技能,以确保应用的高效稳定运行。

    使用C++开发S60 v2.0应用程序入门

    因此,在开发过程中,除了使用模拟器进行初步测试之外,还需要在真实的设备上进行最终的调试和验证。 ##### 事件处理 S60 v2.0采用了基于事件驱动的设计模式,这意味着应用程序需要通过注册监听器来响应用户的输入...

    Symbian 无感知安装 例子

    在Symbian系统中,无感知安装主要通过两种文件格式来实现:sis和sisx。sis文件是Symbian签名的应用程序打包格式,适用于早期的Symbian版本;而sisx文件则是SISX签名的扩展,支持更大的文件大小和更多的功能,主要...

    Symbian手机应用开发标准教程的实例源代码

    在实践中,你可能还会遇到如签名和安全问题,因为Symbian系统对应用程序的安装和运行有严格的权限控制。学习如何为应用签名,以便在实际设备上运行,也是Symbian开发中的重要一环。 总之,"Symbian手机应用开发标准...

    Symbian中TabView的用法

    在Symbian操作系统中,TabView是一种非常有用的控件,它允许用户在单个视图内切换多个页面,类似于常见的GUI应用中的标签页。TabView是Symbian UI框架的一部分,通常用于创建具有多面板界面的应用程序,提高用户体验...

    4个简单手机应用程序

    标题中的“4个简单手机应用程序”表明这是一组专为移动设备设计的小型软件,通常...虽然现在智能手机市场主要由Android和iOS占据,但对于仍在使用塞班系统设备的用户来说,这些程序仍然是提高效率和便利性的良好选择。

Global site tag (gtag.js) - Google Analytics