.NET3.5 GDI+图形操作1

前言: 本文章转载自本人刚刚买的《ASP.NET 3.5从入门到精通》这本书,此书介绍在 http://www.china-pub.com/44991 ,本文章95%与此书的内容完全一样,另5%是我改正一些 失误以后加上去的,该书原示例代码只能运行在IE核心的浏览器上,非IE核心浏览器上运行 会出现些显示问题,本人更改了其中的一些代码。本文章经历昨晚本人五个小时的手打而成 (且还未打完,下班回去继续打,想不到我的打字速度退化得这么快,郁闷!!!),俗话 说:好记性不如烂笔头,把书的内容手打出来,对手,对脑,都有好处!!!

第10章 图形操作

图形化界面是Windows操作系统最重要的特性之一,微软以此迅速打败对手,赢得了用户 的认可。计算机图形学一直是计算机科学体系中的重要内容,在Windows编程史上,图形操作 也一直是核心开发技术之一。本章将介绍如何在ASP.NET的Web应用程序中GDI+绘图。

10.1 图形基础

10.1.1 GDI+介绍

读者可能听说过Windows GDI(Graphics Device Interface,图形装置界面),这是 Windows操作系统的一个图形包,用于支持Windows操作系统中的图形界面,它也帮助开发人 员在不考虑特定设备细节的情形下在计算机上进行绘图操作。比如就图形输出来说,开发人 员在绘图时根本不用考虑是在屏幕上绘制还是在打印机上绘制,只需要指明输出设备即可让 GDI自己解决这些细节问题。

随着开发技术的进步,GDI从某种意义上已经不能满足需求,于是微软把GDI进一步封装抽 象,形成新的GDI+,并在性能和功能上进一步完善。GDI+构成了Windows XP操作系统及其后 续版本的子系统的应用程序编程接口(API)。GDI+负责在屏幕和打印机上显示信息,它是 GDI的改进,同时也是.NET框架结构的重要组成部分。和GDI一样,它提供了对二维图形图像 和文字排版处理的支持,通过GDI+能够创建与设备无关的应用程序。使用GDI+可以创建图形 、绘制文本以及将图形图像作为对象来操作,旨在提高性能和易用性。

与GDI相比,GDI+提供了一些新特性:Alpha混合技术、反锯齿处理技术、渐变色和纹理填 充、宽线条、基本几何曲线样式、可缩放区域、浮点数坐标、嵌入画笔、高质量过滤和缩放 、多种线条样式和端点选项等。

当然,本书并不专门讲解图形编程,限于篇幅,本章将针对通用操作进行讲述。

10.1.1 GDI+基础

在学习.NET GDI+图形操作以前,先将几个基础概念回顾一下。

1.坐标系

GDI+在坐标系中绘制直线、矩形和其他形状,默认坐标系的原点是左上角,并且X轴指向 右边,Y轴指向下边。默认坐标系的度量单位是像素,如图所示。

时间: 2024-08-24 22:26:37

.NET3.5 GDI+图形操作1的相关文章

.NET3.5 GDI+图形操作2

10.1.3 .NET对绘图的支持 .NET对图形操作的支持类库都集中在System.Drawing命名空间下.所以在直接使用.NET类 库时,不要忘记添加using System.Drawing. 下表列出了绘图常的类库,下一节将以示例的方式辅助理解. 上表只是罗列了部分常用类型,在基本图形操作中已经足够了.用户可以使用GDI+在 Windows窗体和控件上呈现图形图像.虽然无法在Web窗体上直接使用GDI+, 但可以通过形成 图片的方式将图像发送到客户端浏览器. 另外,图形操作是非常耗费计算

.NET3.5 GDI+图形操作4

10.3 基本绘图 在.NET中图形包括以下两个步骤. 第一,创建Graphics对象. 第二,使用Graphics对象绘制线条和形状,呈现文本或显示操作图像. 由此可见,如何创建Graphics对象是首先要解决的问题.本节将讲述如何绘制直线.矩形 .圆等基本图形,然后基本图形构成复杂的图形.Graphics常用的绘图方法如下表. 10.3.1 创建图形对象 创建图形对象可有如下几种方法. ² 在窗体或控件的Paint事件中接收对图形对象的引用,作为PaintEventArgs的一 部分.在为控

.NET3.5 GDI+图形操作6(完)

10.4 应用实例 10.4.1 饼图 统计图是信息管理系统常用的功能,常用的有饼图.柱形图.拆线图等.饼图用来表示各 部分比例,柱形图用来表示各部分的比较,拆线图用来表示发展趋势,另外还有其他一些具 有特殊功能的图示.本小节将以二维饼图为例说明通过.NET GDI+来绘制统计图的原理. 本例实现效果很简单,即根据给予的一组数据计算出各个数据项的比例,并分别用不同颜 色表示,组成一个圆饼,如下图所示: 用户可以使用FillPie来绘制饼块,多个饼块拼接在一起就形成了圆饼效果.其基本算法 就是每个

.NET3.5 GDI+图形操作3

10.2.4 Brush Brush通常被称为,用于定义填充图形形状(如矩形.椭圆.饼形.多边形和封闭路径) 的内部对象.Brush是一个抽象基类,不能进行实例化.若要创建一个画笔对象,需使用从 Brush派生出的类,如SolidBrush.TextureBrush和LinearGradientBrush. SolidBrush类用于定义单色画笔.画笔用于填充图形形状,如矩形.椭圆.扇形.多边形 和封闭路径.下表列举了常用的方法和属性. System.Drawing.Brushes定义了很多标准

.NET3.5 GDI+图形操作5

10.3.3 绘制简单图形 简单图形是组成复杂图形的基础,通过本小节的例子,读者可以掌握绘制复杂图形的基础 . 除了直线外,矩形是所有简单图形的基础.因为在Windows操作系统中,大部分图形在内 存中的表示都是矩形块,比如一个窗体.一个按钮控件等.即使是圆形的界面元素,在表示 其位置时,仍然以所在矩形的左上角坐标为参照点,通过宽和高来框定其位置及其区域. 那么如何绘制矩形?Graphics中的DrawRectangle可以在规定一个左上角顶点和长宽边长 的情况下绘制一个矩形.下面的代码实现生成

PHP图形操作之Jpgraph学习笔记_php技巧

本文实例讲述了PHP图形操作之Jpgraph学习笔记.分享给大家供大家参考,具体如下: 一.Jpgraph安装配置 下载Jpgraph安装包 解压后放置磁盘中,(最好是放在和网页一起) 修改php.ini文件: 1.内存  memory_limit=X,至少为32M 2.执行时间  max_execution_time=X,对于复杂的图片加载时需要较多的时间,根据图片的复杂度做相应的修改 3.缓存  output_buffering  注释掉缓存,便于调试 二.使用Jpgraph创建图形的基本步

oracle 11g-关于Oracle11g数据库与pl/sql图形操作界面连接自己服务器和远程服务器的问题

问题描述 关于Oracle11g数据库与pl/sql图形操作界面连接自己服务器和远程服务器的问题 是这样的:公司有一个服务器专门管理项目的数据库,所以我们员工的电脑只装了服务端(今天重装我才知道Oracle有服务端跟客户端之分呀),因为我是新手 对这些不是很了解, 如果 我想把服务端的某个数据库整个弄下来到我自己电脑(本地) 运行项目的时候连接本地这个数据库(因为在开发完之后 测试的数据库会被清理掉 这样我用来学习的项目就连接不上了 我想保留这个数据库到本地 方便我学习),那么 我该怎么做?是不

Fluxbox v1.3.1发布 GNU/Linux的轻量级图形操作界面

Fluxbox是一个基于GNU/Linux的轻量级图形操作界面,它基于Blackbox 0.61.1代码开发,它虽然没有GNOME和KDE那样精美,但由于它的运行对系统资源和配置要求极低,所以它被安装到很多较旧的或是对性能要求较高的机器上,其菜单和相关配置被保存于用户根目录下的.fluxbox目录里,这样使得它的配置极为便利. Fluxbox是类Unix系统里一个极为轻量极的图形界面,它的运行速度相当快.它基于Blackbox并与之相兼容,这两者的窗体控件,色调等都极为相似.Fluxbox对KD

Fluxbox v1.3发布 基于GNU/Linux轻量级图形操作界面

Fluxbox是一个基于GNU/Linux的轻量级图形操作界面,它基于Blackbox 0.61.1代码开发,它虽然没有GNOME和KDE那样精美,但由于它的运行对系统资源和配置要求极低,所以它被安装到很多较旧的或是对性能要求较高的机器上,其菜单和相关配置被保存于用户根目录下的.fluxbox目录里,这样使得它的配置极为便利. Fluxbox是类Unix系统里一个极为轻量极的图形界面,它的运行速度相当快.它基于Blackbox并与之相兼容,这两者的窗体控件,色调等都极为相似.Fluxbox对KD