C# 在Windows窗口上显示一个透明背景的png图片

john_4656 2014-07-14 02:39:42
怎么在Windows窗口上显示一个透明背景的png图片,要求有透明效果,还要置顶
...全文
612 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
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设备。
Kite Report是市场上最灵活的.Net报表引擎. l 他是一套100%托管的.Net组件. l 支持高度复杂报表包含分组,多列,交叉,两次报表, C#/VB.NET脚本等. l 提供最终用户报表设计功能.可在预览时对生成的报表进行修改后再打印. l 方便强大的可视化设计工具。您通过简单的托拽和设置就可以制作普通的报表。 l 报表采用C#在.Net 2.0 上开发。 l 报表的数据源可以使用所有的.Net数据类型,如DataSet, DataTable, ArrayList,自定义实体类等,方便和您的程序进行集成。 l 集成图片,条码等报表常用控件。 l 强大的脚本功能。脚本支持C#/VB.Net语言。有编译报错机制。通过脚本可以极大的提供报表应用的灵活性。 l 结构开放灵活方便您和您的框架程序集成。例如提供自定义预览窗口。 l 中文英文两种语言支持(使用可扩展的多语言支持技术)。 l 在报表中可以通过脚本直接与应用程序交互. 产品特性: 兼容: · 托管的报表引擎 · 设计器支持设计时和运行时 · 支持WinForms和WebForms · 支持所有.Net数据源类型,包括DataSets,DataViews,Collections,Arrays和类实现IEnumerable, IList or IListSource,一张报表支持多个数据源 · 使用GDI+实现:渐变填充,透明度,定制形状等 · 支持C#/VB.NET脚本,也支持其他.NET平台的其他语言,使用者不需要学习新的语言 灵活: · 在一个报表中可以实现无限主从报表 · 生成交叉报表是容易的 · 脚本拥有完全控制权,包含项目中的名字空间,变量,方法等 · 报表控件容易学习和使用 · 支持各种报表尺寸和不同打印方向 · 灵活的报表页头/页脚使你的报表好看且容易理解 · 强大的Page Overlays允许你打印漂亮的报表背景,例如水印 · 开放的插件架构,支持扩充自己的报表控件 · 丰富的报表控件,包含文本,形状,图片,条形码,邮编.同样能使用WinForms的控件作为报表元素 · 报表样式支持,你可以使用不同的样式来优化报表针对预览,打印和导出等 · 支持约束和非约束模式 · 米制和英寸度量单位 · 加大的数据绑定模式(类似于Win/Web Forms的数据绑定)允许你绑定数据源,系统和本地变量到所有控件属性,也可以使用脚本表达式(C#/VB.NET) · 支持导出到PDF, HTML, RTF, EMF, BMP, JPG, GIF, PNG, TIFF, Excel, CSV and Text文件 容易使用和发布 · 容易发布,核心公两个DLL · 报表文件是XML格式,方便共享

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧