WEB开发网
开发学院手机开发Windows Mobile 开发 Windows Mobile绘制背景图片 阅读

Windows Mobile绘制背景图片

 2010-06-01 22:54:00 来源:WEB开发网   
核心提示:Mobile开发环境,这里就不详细介绍了,Windows Mobile绘制背景图片,无非就是根据自己的系统安装ActiveAsync和手机模拟器,我目前使用的是Mobile6.0的模拟器,但问题不大,接下来开始绘制页面,目前有6.1的和6.5的,因为是兼容的

Mobile开发环境,这里就不详细介绍了,无非就是根据自己的系统安装ActiveAsync和手机模拟器。我目前使用的是Mobile6.0的模拟器,目前有6.1的和6.5的,因为是兼容的,而且内核基本没动,所以我也就懒得升级咯。

进入正题,开发过的人都知道,Mobile原始窗体除了上下边框栏,都是白色背景,这样的界面,客户肯定是不会满意的,所以我们需要为客户针对软件进行美观。我这里采用也是Alpha Blend API,黎波老师也介绍过,我这里算是借用了吧,我项目中所使用的下载包,只需要替换掉命名空间就行。PlatformAPI.zip

将包解压加入项目中,现在咋们可以编写自己的代码了。首先,创建好窗体后,设置几个全局变量。

//窗体变量

Size formSize = Size.Empty;

//纵横屏幕标志 动态更换图片用 默认纵向por 横向lan

string formSign = "por";

Graphics gxBuffer;

Bitmap offBitmap;

Font font = new Font("Tahoma", 10, FontStyle.Regular);

//手机程序路径

string path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);

接下来,结合Alpha Blend API开始绘制页面,页面绘制事件采用双Bitmap防闪烁,效率会有所影响,但问题不大,接下来开始绘制页面。

protected override void OnPaint(PaintEventArgs e)

{

if (offBitmap != null)

{

AdjustFormLayout();

gxBuffer = Graphics.FromImage(offBitmap);

gxBuffer.Clear(this.BackColor);

this.BackColor = SystemColors.MenuText;

//确认当前屏幕大小,获取对应的图片文件夹

GetConfig getconfig=new GetConfig();

ConfigClass config = getconfig.CheckScreenSize(formSize.Width.ToString(), formSize.Height.ToString());

Program.ScreenFileName = config.FileName;

AlphaImage bmp = AlphaImage.CreateFromFile(path + @"\" + Program.ScreenFileName + @"g.png");

Rectangle imgRect = new Rectangle(0, 0, formSize.Width, formSize.Height);

bmp.Draw(gxBuffer, imgRect);

e.Graphics.DrawImage(offBitmap, 0, 0);

1 2 3  下一页

Tags:Windows Mobile 绘制

编辑录入:coldstar [复制链接] [打 印]
赞助商链接