毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

基于WPF的颜色拾取器的实现(2)

时间:2019-05-12 14:43来源:毕业论文
1.1 课题的目的和意义 WPF是Windows Presentation Foundation的简称,顾名思义是专门用来编写程序表示层的技术和工具。开发表示层程序就不可避免地要与4种功能


1.1    课题的目的和意义
    WPF是Windows Presentation Foundation的简称,顾名思义是专门用来编写程序表示层的技术和工具。开发表示层程序就不可避免地要与4种功能性代码打交道:数据模型、业务逻辑、用户界面和界面逻辑。在保持代码可文护性的前提下,如何让数据能够顺畅地到达界面并灵活显示,同时方便地接收用户的操作历来都是表示层开发的核心问题,为此,人们研究出了各种各样的设计模式。在WPF出现之前,Windows Forms、ASP.NET(Web Forms)等技术均使用“事件驱动”理念,一不小心就会使界面逻辑和业务逻辑纠缠在一起,造成代码变得复杂难懂、bug难以排除。而WPF技术则是微软在开发理念上的一次升级——由“事件驱动”变为“数据驱动”。所谓“数据驱动”,指当数据发生变化时,会主动通知界面控件,推动控件展示最新的数据;同时,用户对控件的操作会直接送达数据,就好像控件是“透明”的。WPF中,数据与控件的关系就是内容决定形式所以数据驱动界面,开发理念符合哲学的思想。使用WPF进行开发较之Windows Forms开发简单,程序更加简洁清晰。
    Windows Presentation Foundation 是窗体、文档、视频、三文以及其他功能的综合,提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作。WPF控件模型的扩展性极大减少了创建新控件的需要。但在某些情况下,仍可能需要创建自定义控件。本课题的内容就是创建一个简单用户控件,创建基本的颜色拾取器是有价值的练习,不仅可以了解到构建控件的各种重要概念,还可以将这个控件分解成功能更强大的基于模板的控件,运用到需要的程序中去。
1.2    国内外研究现状和水平
  1.3    发展趋势
  1.4    课题的内容分析
    本设计是在Windows 7系统下,以Microsoft .Net Framework 4.5为技术背景,Visual Studio 2010为集成开发环境下完成的。

1. 在Visual Studio 2010中创建新的项目;
2. 在该项目下,以XAML语言编写用户界面,以C#语言编写逻辑代码;
3. 在编写代码时,掌握如何在WPF中自定义元素,如何定义依赖属性及路由事件,如何运用数据绑定知识等;
4. 调试并得出结论。
颜色在我们的生活中无处不在,特别是对于设计人员,无论是广告设计、平面设计、服装设计或是从事绘画的人来说,选择合适的颜色搭配尤其重要。颜色是通过眼、脑和我们的生活经验所产生的一种对光的视觉效应,人们会有自己喜欢的颜色,会对颜色进行各种掺杂混合,这就是对颜色的拾取。平时,在很多地方我们都会碰到对颜色拾取,比如用Word编辑文字颜色,用Photoshop绘画等,颜色拾取器就起到了一个相当大的作用。这些人们常用的应用软件中的颜色拾取功能都十分强大,在短短的半学期中我肯定是做不到这些的。本课题中的颜色拾取器是指在Visual Studio 2010集成开发环境下创建一个简单用户控件,它是开始自定义控件的好方法。
在这个基本的颜色拾取器中,包含四个Slider控件,分别是Red、Green、Blue和Argb,也就是人们常说的RGB三原色以及透明度。色彩中不能再分解的基本色称之为原色,原色可以合成其他的颜色,而其他颜色却不能还原出本来的色彩。我们通常说的三原色,即红、绿、蓝。三原色可以混合出所有的颜色,同时相加为白色。这三个红、绿、蓝Slider控件用来调节颜色成分,透明度则用Argb Slider控件百分比。同时使用Rectangle元素预览选择的颜色。在界面的下方会以十751进制的形式显示所选取颜色的相应值,以“The new color is #aarrggbb”表示。“#aarrggbb”的含义是,“aa”值颜色的alpha值,也就是指透明度,用来控制颜色的百分比,十进制范围是在0到255。当“aa”的值是255,换算成十751进制就是“FF”,表示完全不透明,数字越小透明度越高。而“#aarrggbb”中“rr”、“gg”、“bb”就是指红、绿、蓝三个颜色所占的成分。所以,准确的说,界面下方所显示的颜色值应是从“The new color is #00000000”到“The new color is #FFFFFFFF”变化 基于WPF的颜色拾取器的实现(2):http://www.751com.cn/tongxin/lunwen_33256.html
------分隔线----------------------------
推荐内容