论文部分内容阅读
摘 要:本文在.NET Compact Framework环境下结合Visual Studio 2008开发了一个基于Windows CE平台的Smartphone操作系统主题自制软件,对其中的图片选取、图片路径获得及图片加载时遇到的问题做了简要阐述,并给出了这些问题的解决办法。
关键词:SmartPhone;图片;图片加载
中图分类号:F224-39 文献标识码:A 文章编号:1006-4117(2011)10-0354-01
Smartphone是使用Windows Mobile for Smartphone Edition操作系统的智能手机,它是基于Microsoft的嵌入式实时操作系统Windows CE进行设计的。目前,Smartphone手机外形与普通手机相似,比PocketPC类智能手机有较小的尺寸,便于携带:而Windows CE平台的应用,又比基于Sybian,Linux等操作系统的智能手机更易于个人计算机连接.更适合在微机的Windows平台下开发应用程序。Windows CE是Microsoft公司专门为嵌入式系统所开发的一个操作系统,此操作系统与一般的桌面操作系统有所不同,就在于Windows CE是可定制的。根据嵌入式系统所要运用的范围,切合实际的需要,选取相应的Windows CE组件,定制出一个适合开发的嵌入式系统开发平台。由于.Net Compact Framework的普及以及Visual Studio 2008的更具人性化的优化,使得使用.Net Compact Framework开发变得更简单易用。并且作者对Windows CE平台的智能手机操作系统有一定的研究,所以决定以Windows CE为平台开发Smartphone的主题自制软件,本文只对此软件中涉及到得图片问题做阐述。
一、Smartphone开发模板的建立
文件--新建--项目--在弹出的新建菜单中写好这个软件的名字,在模板里点选智能设备项目,同时勾选上创建新建解决方案的目录。
在添加新智能设备项目选项里,目标平台选择 Windows Mobile 5.0 Smartphone SDK,因为此次的开发环境选择了Visual Studio 2008 所以不能开发到兼容 Windows 2003版本的软件。在.NET Compact Framework版本选项上,选择.NET Compact Framework Version3.5版本,并在下面选上“设备应用程序”再点确定,就可以在进行软件的开发和代码编写了。
二、图片的选取和图片的路径获得
在Smartphone中,用传统的openfiledialog方法打开一个图片文件已经不再适用了,但是在Microsoft.Windowsmobile.Forms的命名空间下,包含有两个用于操纵图片的组件。其中Selectpicturedialog提供了一个和传统openfiledialog不同的窗口,可以以索引方式显示图片,并且还可以设置cameraAccess的属性为true 或者false来实现是否可以对相机的访问。lockDirectory属性用于阻止用户访问initialDirectory。
图片的路径获取则使用system.IO 命名空间里面的path.Getfullpath(文件名)方法来获取。主要代码如下:
private void getPicture()//从文件夹选取图片
{
Microsoft.WindowsMobile.Forms.SelectPictureDialog spd=new Microsoft.WindowsMobile.Forms.SelectPictureDialog();
spd.Owner=this;
spd.Title=“选择一个图片做背景”;
spd.CameraAccess=false;
spd.LockDirectory=true;
If(spd.ShowDialog()==DialogResult.ok)
{
picturePath=System.IO.Path.GetFullPath(spd.FileName);//保存图片路径
}
}
三、图片加载问题以及解决方法
由于.NET Compact Framework是精简的.NET Framework,所以,很多方法,属性不能用。在图片载入的时候,完整版.NET可以使用的FromFile,load 等方法在这里都不适用。因此,这里把图片作为嵌入式资源来实现的。具体实现方法是:解决方案资源管理器里在项目上点右键,选择快捷菜单中的添加--现有项。
选择图片后在图片的属性框中把“生成操作”选择成“嵌入式资源”。应用方法System.Drawing.Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("命名空间.图片名.图片格式"))就可以加载图片。最后根据需要设定图片的属性,可以获得最终需要的效果。主要代码如下:
private void displaypanel()
{
this.panel.Location=new System.Drawing.Piont(0,0);
this.panel.Size=new System.Drawing.Size(240,260);
this.panel.Visible=true;
this.pictureBox.Image=new System.Drawing.Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream(“SmartScreem.filename.jpg”));
this.pictureBox.Size=pictureBox.Image.Size;
}
结束语:本文只给出了在Windows CE平台下Smartphone操作系统中用户主题自定义中涉及到的图片问题做了阐述,相关问题还有相机问题、目标文件的获取和存储路径问题等,还有待进一步研究。
作者单位:商丘学院计算机科学与技术学院
作者简介:王莉(1984— ),女,河南商丘人,助教,研究方向:数据结构,软件工程,网络等;杨天朋(1977— ),男,河南南阳人,讲师,研究方向:数据仓库,并行编译,网络等。
参考文献:
[1]吴建军,马文静.使用VB2005设计Smartphone智能手机应用程序入门[J].福建电脑.2007,10:41-42.
[2]杨新华,陈蜀宇,樊承泽.Windows CE系统下WAP浏览器的研究与设计[J].计算机工程与设计.2010,31(13):3088-3089.
[3]John sharp.Visual C#2008入门到精通[M].北京:清华大学出版社,2009.
[4]Andy Wigley,Daniel Moth,Peter Poot著.Microsoft Mobile 移动应用开发宝典[M].张大威译.北京:清华大学出版社,2008.
关键词:SmartPhone;图片;图片加载
中图分类号:F224-39 文献标识码:A 文章编号:1006-4117(2011)10-0354-01
Smartphone是使用Windows Mobile for Smartphone Edition操作系统的智能手机,它是基于Microsoft的嵌入式实时操作系统Windows CE进行设计的。目前,Smartphone手机外形与普通手机相似,比PocketPC类智能手机有较小的尺寸,便于携带:而Windows CE平台的应用,又比基于Sybian,Linux等操作系统的智能手机更易于个人计算机连接.更适合在微机的Windows平台下开发应用程序。Windows CE是Microsoft公司专门为嵌入式系统所开发的一个操作系统,此操作系统与一般的桌面操作系统有所不同,就在于Windows CE是可定制的。根据嵌入式系统所要运用的范围,切合实际的需要,选取相应的Windows CE组件,定制出一个适合开发的嵌入式系统开发平台。由于.Net Compact Framework的普及以及Visual Studio 2008的更具人性化的优化,使得使用.Net Compact Framework开发变得更简单易用。并且作者对Windows CE平台的智能手机操作系统有一定的研究,所以决定以Windows CE为平台开发Smartphone的主题自制软件,本文只对此软件中涉及到得图片问题做阐述。
一、Smartphone开发模板的建立
文件--新建--项目--在弹出的新建菜单中写好这个软件的名字,在模板里点选智能设备项目,同时勾选上创建新建解决方案的目录。
在添加新智能设备项目选项里,目标平台选择 Windows Mobile 5.0 Smartphone SDK,因为此次的开发环境选择了Visual Studio 2008 所以不能开发到兼容 Windows 2003版本的软件。在.NET Compact Framework版本选项上,选择.NET Compact Framework Version3.5版本,并在下面选上“设备应用程序”再点确定,就可以在进行软件的开发和代码编写了。
二、图片的选取和图片的路径获得
在Smartphone中,用传统的openfiledialog方法打开一个图片文件已经不再适用了,但是在Microsoft.Windowsmobile.Forms的命名空间下,包含有两个用于操纵图片的组件。其中Selectpicturedialog提供了一个和传统openfiledialog不同的窗口,可以以索引方式显示图片,并且还可以设置cameraAccess的属性为true 或者false来实现是否可以对相机的访问。lockDirectory属性用于阻止用户访问initialDirectory。
图片的路径获取则使用system.IO 命名空间里面的path.Getfullpath(文件名)方法来获取。主要代码如下:
private void getPicture()//从文件夹选取图片
{
Microsoft.WindowsMobile.Forms.SelectPictureDialog spd=new Microsoft.WindowsMobile.Forms.SelectPictureDialog();
spd.Owner=this;
spd.Title=“选择一个图片做背景”;
spd.CameraAccess=false;
spd.LockDirectory=true;
If(spd.ShowDialog()==DialogResult.ok)
{
picturePath=System.IO.Path.GetFullPath(spd.FileName);//保存图片路径
}
}
三、图片加载问题以及解决方法
由于.NET Compact Framework是精简的.NET Framework,所以,很多方法,属性不能用。在图片载入的时候,完整版.NET可以使用的FromFile,load 等方法在这里都不适用。因此,这里把图片作为嵌入式资源来实现的。具体实现方法是:解决方案资源管理器里在项目上点右键,选择快捷菜单中的添加--现有项。
选择图片后在图片的属性框中把“生成操作”选择成“嵌入式资源”。应用方法System.Drawing.Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("命名空间.图片名.图片格式"))就可以加载图片。最后根据需要设定图片的属性,可以获得最终需要的效果。主要代码如下:
private void displaypanel()
{
this.panel.Location=new System.Drawing.Piont(0,0);
this.panel.Size=new System.Drawing.Size(240,260);
this.panel.Visible=true;
this.pictureBox.Image=new System.Drawing.Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream(“SmartScreem.filename.jpg”));
this.pictureBox.Size=pictureBox.Image.Size;
}
结束语:本文只给出了在Windows CE平台下Smartphone操作系统中用户主题自定义中涉及到的图片问题做了阐述,相关问题还有相机问题、目标文件的获取和存储路径问题等,还有待进一步研究。
作者单位:商丘学院计算机科学与技术学院
作者简介:王莉(1984— ),女,河南商丘人,助教,研究方向:数据结构,软件工程,网络等;杨天朋(1977— ),男,河南南阳人,讲师,研究方向:数据仓库,并行编译,网络等。
参考文献:
[1]吴建军,马文静.使用VB2005设计Smartphone智能手机应用程序入门[J].福建电脑.2007,10:41-42.
[2]杨新华,陈蜀宇,樊承泽.Windows CE系统下WAP浏览器的研究与设计[J].计算机工程与设计.2010,31(13):3088-3089.
[3]John sharp.Visual C#2008入门到精通[M].北京:清华大学出版社,2009.
[4]Andy Wigley,Daniel Moth,Peter Poot著.Microsoft Mobile 移动应用开发宝典[M].张大威译.北京:清华大学出版社,2008.