WINCE上透明图片的绘制

     

 

     由于前几天工作时碰到一个问题:就是在wince5.0下为了界面美观,需要做一些带有图片的按钮或绘制一些半透明图片,我是刚开始做开发就找了好多资料,现将绘制半透明图片一些资料整理一下:

 

一、在wince5.0下绘制圆角图片:把圆角图片四个拐角处的背景色设置为透明

 

 

这种方法只是将图片四个拐角处的背景色设置为透明,而且其设置方法是用GetTransparentColor()方法获得图片上(0,0)点的颜色值,然后把整个图片上所有和(0,0)点颜色值相同的像素点都重新渲染为透明的,所以这种方法问题很多,一般很难满足要求。我在网上看到一种更好的实现这功能的方法,但是我还没自己实现。

 

二、在wince5.0下绘制半透明图片:

 

DrawTransp.cs

 

 

在测试程序中直接调用DrawTtaph就可。

这种方法对于矩形正方形的图片效果确实很好,图片的确透明,但是如果是圆角图片,绘制上去后四个拐角就是图片背景色(白色),所以这种方法就没有了第一种方法的那种效果。我想把这两种方法效果合并,但是没实现,还望看到此文章的高手指点,不胜感激。

 

参考文献:http://www.bianceng.cn/Programming/extra/201002/15331.htm

        http://www.congci.com/item/456mobile_draw

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WinCE5.0下实现透明背景按钮(.net C#) 需要在wince5.0下实现图形化界面,用于功能导航,用过GPS导航就知道了,类似的界面。众所周知gif,PNG等图片,都是可以实现透明背景的,在win下这应该不是个问题。但在ce5.0下,无论是透明背景的ICON、PNG、GIF都无法简单实现透明背景,alpha通道会丢失。网上搜索了些资料,当然也有办法解决,大家可以查一下,但性能较低。最终按微软SDK自带的一个计算器的源码思路解决了透明背景按钮问题。 要点: 1.如何画透明背景的BMP 2.如何画按钮并实现事件 思路及解决: 1.画按钮的思路:   ImageAttributes imageAttr=new ImageAttributes();   imageAttr.SetColorKey(Color.FromArgb(255, 0, 255),Color.FromArgb(255, 0, 255));   然后使用Graphics.DrawImage(,,,,,imageAttr)函数在指定的位置上画出透明图片。   2. 事件驱动的思路: 事先定义好各按钮的指令   public enum Command { cmd1 = 0,//无操作 cmd2,//第一项操作 cmd3,//第二项操作 cmd4,//可自己扩展 max } 在创建按钮的同时明确以下几个参数 容器控件、资源存放的目录、X坐标、Y坐标、背景图片、按钮的标题、非激活时的文字颜色、激活时的文字颜色、触发的指令。创建窗口,针对窗体事件做如下定义 •在Form_Load时生成按钮, •在Form_OnPaint时使用按钮自身的Render函数根据自己状态(有没有被点中)重画, •在MouseDown时判断点击位置是否在某个按钮的内部,如果是在它内部就改变它的状态,设置状态的同时调用窗口控件的Graphics局部重画这个按钮,     •在Form_MouseUp时判断现在的位置是不是在按钮内部,如果按下了,抬起时又移出了范围则不处理。如果按下与抬起都是在同一个按钮的边界内部则执行这个按钮所设置的指令。 以下是我使用的资源,将作为按钮的图片需要透明的部分设置成RGB(255,0,255),那种非常刺眼的颜色。以下图片可以另存为BMP使用,设置的分辨是800*600的CE设备。
Coldfire是一种微处理器架构,而WinCE是Windows CE的简称,是微软推出的一种嵌入式操作系统。Coldfire Wince则是指在Coldfire架构上运行Windows CE操作系统的一种设备。 Coldfire架构由Motorola(现为Freescale Semiconductor)开发,被广泛应用于嵌入式系统中。它具有低功耗、高性能和强大的计算能力,在许多嵌入式应用领域都有广泛的应用,包括工业自动化、汽车电子、消费电子等。Coldfire架构的特点是具有较好的实时性和稳定性,能够满足嵌入式系统对高可靠性和实时性的需求。而Windows CE作为一种轻量级操作系统,适用于资源受限的嵌入式设备,能够提供友好的图形用户界面和丰富的应用程序接口。 将Coldfire架构和Windows CE操作系统结合,可以实现在嵌入式设备上运行Windows CE平台的应用程序。这意味着Coldfire Wince设备可以享受到Windows CE操作系统提供的丰富功能和易用性。例如,用户可以利用设备上的触摸屏和应用程序接口,轻松地使用各种图形化应用程序。此外,Windows CE还提供了通信功能,如无线网络和蓝牙,使Coldfire Wince设备能够与其他设备进行数据交互和通信。 总之,Coldfire Wince指的是在Coldfire架构上运行Windows CE平台的嵌入式设备。它结合了Coldfire架构的高性能和实时性能以及Windows CE操作系统的易用性和丰富功能,适用于许多嵌入式应用领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值