收藏 分享(赏)

第+15+章+图形图像编程.ppt

上传人:scg750829 文档编号:5160568 上传时间:2019-02-11 格式:PPT 页数:38 大小:2.62MB
下载 相关 举报
第+15+章+图形图像编程.ppt_第1页
第1页 / 共38页
第+15+章+图形图像编程.ppt_第2页
第2页 / 共38页
第+15+章+图形图像编程.ppt_第3页
第3页 / 共38页
第+15+章+图形图像编程.ppt_第4页
第4页 / 共38页
第+15+章+图形图像编程.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、第五篇 ASP.NET 高级编程,东鹏电子信息有限公司,2,内容,第 15 章 图形图像编程 第 16 章 ASP.NET 和 AJAX 第 17 章 ASP.NET MVC 基础,3,第 15 章 图形图像编程,主讲:Jayce_Zou,4,本章内容 主讲:Jayce_Zou,图形编程 绘制文字特效 绘制图片 图像特效处理,5,图像布局 主讲:Jayce_Zou,在页面布局中,很多设计人员喜欢使用 CSS 设计,这样能够简化页面代码,将页面布局代码和页面代码相分离,从而提高了维护性。虽然随着技术的发展,越来越多的动态生成页面布局,以及动态生成图像的方法也越来越多的被开发人员和设计人员所认知,

2、但是开发人员和设计人员还是比较喜欢使用 CSS 和 IMG 标签进行页面布局,这是因为 CSS 和 IMG 标签都比较简单,可以说是“轻量级”的,即不需要页面进行逻辑处理也不需要动态生成。,6,IMG 标签 主讲:Jayce_Zou,IMG 标签是图像标签,IMG 标签属于 HTML 控件,在 Web 应用中可以看到在页面中包含大量的 IMG标签用于图形图像显示,示例代码如下所示:使用 IMG 标签能够轻松的为网页添加图片,IMG 标签包括以下常用属性: Src:图片的地址,可以是图片的相对地址也可以是绝对地址。 Width:设定图片的宽度。 Height:设定图片的高度。 Alt:当图片显示

3、不了时提示的字符。 Border:图片的边框的宽度。 Align:图片的周片文字的对齐方式。 Title:当鼠标放在图片上出现的提示字符。,7,CSS 主讲:Jayce_Zou,通过 CSS 能够使用图像进行页面布局和样式控制。当需要使背景呈现渐变效果时,无需使用 JavaScript进行控制,可以直接使用 CSS 和图像进行搭配使用即可。CSS 背景属性包括:背景颜色属性(background-color):该属性为 HTML 元素设定背景颜色。 背景图片属性(background-image):该属性为 HTML 元素设定背景图片。 背景重复属性(background-repeat):该属

4、性和 background-image 属性连在一起使用,决定背景图片是否重复。如果只设置 background-image 属性,没设置 background-repeat 属性,在缺省状态下,图片既 x 轴重复,又 y 轴重复。 背景附着属性(background-attachment):该属性和 background-image 属性连在一起使用,决定图 片是跟随内容滚动,还是固定不动。 背景位置属性(background-position):该属性和 background-image 属性连在一起使用,决定了背景图片的最初位置。 背景属性(background):该属性是设置背景相关属

5、性的一种快捷的综合写法。,8,JavaScript 进行图像编程 主讲:Jayce_Zou,HTML 图像控件支持 JavaScript 进行图像操作,可以为图像控件进行事件处理,JavaScript 代码如下所示:function cut() /获取 ID 为 pic1 的图片的属性 var pic=document.getElementById(“pic1”) pic.width=100; /设置图片的宽度 pic.height=100; /设置图片的高度 上述代码获取图片ID 为pic1 的图片属性,当触发该事件后,ID 为 pic1 的图片的宽度和高度将变为 100。 为了让图片被单击

6、时触发该事件,则应该在 IMG 标签中声明该事件,代码如下所示: ,9,GDI+简介 主讲:Jayce_Zou,虽然通过 IMG 标签和 CSS、JavaScript 相配合能够进行图形图像开发,但是其功能有限,并不能够进行高级的图形图像开发。GDI+是 Windows XP 中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C+类实现的应用程序编程接口。GDI+的前身是 GDI,在 C+应用程序开发中,C+开发人员经常需要使用 GDI 进行窗口的绘制与重绘,在 Vista 操作系统之后的操作系统中,微软对图形图像编程进行了更新.在 Vista 等系统中,大量的使用了半透

7、明、渐变、边缘模糊化等效果,这就要求在编程中强化图形图像渲染。,10,主讲:Jayce_Zou,GDI+相比与 GDI,进行了一些加强, 这些加强功能如下所示:渐变的画刷(Gradient Brushes):GDI+允许开发人员使用渐变的画刷来绘制线条、图形以及外观。基数样条函数(Cardinal Splines):GDI+支持基数样条函数而 GDI 不支持,基数样条能够防止锯齿的出现,使得窗口以及图形的绘制能够平滑过渡。持久路径对象(Persistent Path Objects):在 GDI 中,绘制路径在窗口更改需要通过重绘来保持图形的持久化,而在 GDI+中,可以通过创建对个对象来持久

8、化。变形和矩阵对象(Transformations Matrix Object):GDI+提供了强大的矩阵对象,开发人员可以通过矩阵对象进行图形的翻转、平移和缩放。可伸缩区域(Scalable Regions):GDI+允许在一定的范围内进行任何图形变换。GDI+不仅包括这些新特性,还包括混合以及等多种图像类型支持等特性。ASP.NET 相对于 ASP 的强大之处就在于 ASP.NET 可以使用 GDI+进行图形图像编程,实现不同的 Web 应用功能。,11,.NET Framework 绘图类 主讲:Jayce_Zou,GDI+包括很多的类、结构和枚举用于为开发人员提供图形编程,这些类、结构

9、和枚举都定义在命名空间中,这些命名控件如下所示: System.Drawing:提供对 GDI+基本图形图像功能的访问,提供了 Graphics 类进行图形图像处理。 System.Drawing.Drawing2D :提供了高级的二维图形和矢量图形的处理功能,使用 System.Drawing.Drawing2D 能够进行二维图形和二维游戏的开发和编写。 System.Drawing.Imaging:主要提供了图像处理的功能,例如将图像进行锐化处理,或者将图像 变成黑白色或底片都可以通过使用该命名空间的方法。 System.Drawing.Text:提供高级的文字处理及排版功能,能够实现 W

10、ord 中艺术字的效果。 System.Drawing.Printing:提供图形打印所需要的类。 System.Drawing.Design:提供开发 UI 设计时所需要的类。,12,类和方法 主讲:Jayce_Zou,System.Drawing 命名空间提供的类如下所示: Bitmap:在 Bitmap 上使用图形工具,并在其中存储图形图像的绘图面板。 Graphics:提供直线、曲线、多边形等绘画方法,也提供对一些位图的处理,例如平移、缩放等。 Pen:提供直线、曲线等功能需要的画笔属性。 Brush:提供文本填充和图形绘画,可以填充图形如圆形、椭圆形和多边形。 Color:提供颜色的

11、枚举,用于定义 Pen 和 Brush 的颜色。 Font:提供文本的字体属性,定义文本的字体类型、样式和大小等。 Point:用于定义有序的坐标对,这些坐标能够定义二维平面上的点。 Size:定义区域的大小。 Image:用于支持位图、指针和图标等文件类型。 Rectangle:用于定义矩形区域。 StringFormat:用于定义文本在位图上的对齐方式等属性。,13,主讲:Jayce_Zou,简而言之,Bitmap 就相当于绘画时需要的纸,图形能够绘画到纸上面。而 Graphics 相当于绘画的人, 因为人能够提供只写、曲线、多边形等绘画方法。而 Pen 和 Brush 相当于绘画工具,如

12、铅笔、笔刷等。Color 就相当于是绘画所需要的颜料。在绘画过程中: 首先需要使用一张纸,固定到绘画板上, 然后有一个人能够进行绘画,这个人能够进行素描、水彩等绘画。 但是在绘画前,需要给这个人基本的工具,包括铅笔、笔刷和颜料盘等。 在这些基 本物质准备完毕后,就能够开始绘制了。,14,Graphics 类的属性 主讲:Jayce_Zou,DpiX:获取对象的水平分辨率。DpiY:获取对象的垂直分辨率。IsClipEmpty:为对象指定裁剪区域。IsVisibleClipEmpty;判断裁剪区域是否为空。TextGammaValue:返回一个提供文本灰度值的信息的整数值。TextRenderi

13、ngHint:获取或设置与该图形相关联的文本着色模式。通过 Graphics 类的属性能够获取 Graphics 对象的水平分辨率和垂直分辨率,并能够为 Graphics 对象进行裁剪区域的选择和判断。,15,Graphics 类的方法 主讲:Jayce_Zou,Dispose:删除图形并释放已分配的内存。 DrawArc:绘制弧线。 DrawBezier:绘制后三次贝塞尔曲线。 DrawClosedCurve:绘制封闭曲线。 DrawCurve:绘制曲线。 DrawEllipse:绘制椭圆。 DrawIcon:绘制图标图像。 DrawIconUnstretched:绘制图标图像,并可将图像缩

14、放到指定大小。 DrawImage:绘制图像。 DrawImageUnscaled:绘制图像,并可将图像缩放到指定大小。 DrawImageUnscaledAndClipped:在不进行缩放的情况下进行图像绘制。,16,主讲:Jayce_Zou,DrawLine:绘制线条。 DrawPie:绘制扇形。 DrawPolygon:绘制多边形。 DrawRectangle:绘制矩形。 DrawString:绘制字符串。 FillClosedCurve:填充封闭曲线的内部区域。 FillEllipse:填充椭圆内部。 FillPath:填充 GraphicsPath 内部。 FillPie:填充扇形内

15、部。 Restore:恢复图形状态。 Save:保存图形。 SetClip:为对象设置剪辑区域。,17,绘制线条 主讲:Jayce_Zou,示例代码如下所示:Bitmap images = new Bitmap(200, 200); /创建画纸 Graphics gr = Graphics.FromImage(images); Pen pen = new Pen(Color.Red, 5); /创建画笔 gr.Clear(Color.White); /设置画笔的颜色 gr.DrawLine(pen, 0, 0, 200, 200); /开始绘画 images.Save(Response.Out

16、putStream, System.Drawing.Imaging.ImageFormat.Jpeg); gr.Dispose(); /释放绘图对象 images.Dispose(); /释放图形对象,18,绘制矩形 主讲:Jayce_Zou,绘制矩形的方法同绘制线条基本相同,但是绘制矩形不仅要指定矩形的坐标,还需要指定矩形的高度和宽度,示例代码如下所示:Bitmap images = new Bitmap(400, 400); /创建画纸 Graphics gr = Graphics.FromImage(images); Pen pen = new Pen(Color.Red, 5); /创

17、建画笔 gr.Clear(Color.White); /设置画笔颜色 gr.DrawLine(pen, 0, 0, 200, 200); /绘制线条 gr.DrawRectangle(pen, 200, 200, 50, 50); /绘制矩形 images.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); gr.Dispose(); images.Dispose();,19,绘制椭圆 主讲:Jayce_Zou,绘制椭圆的方法只需要使用 DrawEllipse 方法即可,示例代码如下所示:gr.DrawEl

18、lipse(pen, 0, 0, 300, 200); /绘制椭圆上述代码绘制了一个椭圆形,该椭圆形绘制的起点为(0,0),宽度为 300,高度为 200。DrawEllipse方法同 DrawRectangle 方法基本相同,因为这两个方法都包括五个参数,这 5 个参数都需要指定绘制起点、 宽度和高度。当需要绘制圆形时,只需要将宽度和高度设置相等即可,示例代码如下所示:gr.DrawEllipse(pen, 0, 0, 200, 200); /绘制圆当设置宽度和高度相等时,该椭圆就会以圆形呈现,上述代码就实现了圆形的绘制。,20,绘制多边形 主讲:Jayce_Zou,绘制多边形的方法只需要使

19、用 DrawPolygon 方法即可,与绘制规则图形不同的是,绘制多边形需要指定多边形的各个节点,DrawPolygon 方法通过获取这些节点即可组成一个多边形,示例代码如下所示:Point pt1 = new Point(50, 50); /设置节点 Point pt2 = new Point(150, 150); /设置节点 Point pt3 = new Point(200, 200); /设置节点 Point pt4 = new Point(350, 170); /设置节点 Point pt5 = new Point(90, 30); /设置节点 Point pt6 = new Poi

20、nt(180, 90); /设置节点 Point pts = pt1, pt2, pt3, pt4, pt5, pt6 ; /设置节点组 gr.DrawPolygon(pen, pts); /绘制多边形,21,绘制文字 主讲:Jayce_Zou,通过使用 DrawString 方法能够绘制文字并呈现在图像中,示例代码如下所示:Font font = new Font(“宋体”, 20); /创建文字对象 Brush brush=new SolidBrush(Color.Red); /创建笔刷对象 gr.DrawString(“我的字符串“, font, brush, 200,200); /绘制

21、文字使用 DrawString 方法,需要对 DrawString 方法进行参数传递,DrawString 方法需要五个参数,其中包括需要输出的字符串、文本格式对象、笔刷对象以及文字开始绘制的坐标。上述代码中,输出字串为“我的字符串”。文本格式通过 Font 默认构造函数构造,并在坐标为(200,200)位置开始绘制。,22,图形绘制实例 主讲:Jayce_Zou,protected void Page_Load(object sender, EventArgs e) Bitmap images = new Bitmap(400, 400); /创建画纸 Graphics gr = Graph

22、ics.FromImage(images); /创建绘图类 Pen pen = new Pen(Color.Red, 5); /创建画笔 gr.Clear(Color.White); /绘制直线 gr.DrawLine(pen, 0, 0, 200, 200); /绘制矩形 gr.DrawRectangle(pen, 200, 200, 50, 50); /绘制椭圆 gr.DrawEllipse(pen, 0, 0, 300, 200); /绘制多边形 Point pt1 = new Point(50, 50); /设置节点 Point pt2 = new Point(150, 150); /

23、设置节点 Point pt3 = new Point(200, 200); /设置节点 Point pt4 = new Point(350, 170); /设置节点 Point pt5 = new Point(90, 30); /设置节点 Point pt6 = new Point(180, 90); /设置节点 gr.DrawPolygon(pen, pts); /绘制文字,23,主讲:Jayce_Zou,Font font = new Font(“宋体“, 20); /设置字体大小Brush brush=new SolidBrush(Color.Red); /创建红色笔刷gr.DrawSt

24、ring(“我的字符串“, font, brush, 200,200); /填充矩形SolidBrush brush2 = new SolidBrush(Color.YellowGreen);/填充矩形 gr.FillRectangle(brush2,new Rectangle(100,100,100,100); images.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);gr.Dispose(); images.Dispose(); ,24,投影特效 主讲:Jayce_Zou,使用 System.Dr

25、awing.Drawing2D 和 System.Drawing.Text 能够进行文字投影特效。 在制作文字投影特效前,首先需要使用命名空间 System.Drawing.Drawing2D 和 System.Drawing.Text。 在实现投影效果前,首先需要了解如何制作投影。 投影特效的难度在于如何描述本体的影子。 其实在画面上,影子是不可能像平常的描述一样呈现在图片上的,这也就是说,影子其实也是本体对象的另一种表现形式。 首先,影子可以看作是本体的压缩和平移,在对本体进行压缩和平移后,从一定的角度上看就好像是本地的影子。 其次,影子是没有颜色的,通常用灰色输出即可实现影子的效果。 在

26、制作投影特效时,需要使用到 Matrix 类,该类需要使用 System.Drawing.Drawing2D 和 System.Drawing.Text 命名空间。,25,示例代码 主讲:Jayce_Zou,Bitmap images = new Bitmap(600, 150); /创建 Bitmap 对象 Graphics gr= Graphics.FromImage(images); /创建 Graphics 对象 gr.Clear(Color.WhiteSmoke); /填充背景颜色 /设置文本输出质量 gr.TextRenderingHint = TextRenderingHint.

27、ClearTypeGridFit; gr.SmoothingMode = SmoothingMode.AntiAlias; Font newFont = new Font(“宋体“, 32);Matrix matrix = new Matrix(); /执行投射 matrix.Shear(-1.5f, 0.0f); /执行缩放 matrix.Scale(1, 0.5f); /执行平移 matrix.Translate(130, 88); /执行坐标转换 gr.Transform = matrix;,26,主讲:Jayce_Zou,SolidBrush grayBrush = new Solid

28、Brush(Color.Gray); SolidBrush colorBrush = new SolidBrush(Color.Red); string text = “ASP.NET 3.5 开发大全“; /设置文字/绘制阴影 gr.DrawString(text, newFont, grayBrush, new Point(0, 30); gr.ResetTransform(); /图形变形/绘制前景 gr.DrawString(text, newFont, colorBrush, new PointF(0, 40); images.Save(Response.OutputStream,

29、System.Drawing.Imaging.ImageFormat.Jpeg);,27,主讲:Jayce_Zou,Matrix类中常用的方法有: Shear:通过预先计算比例向量,将指定的比例向量应用到此矩阵。 Scale:通过预先计算切变向量将指定的切变向量应用到此矩阵。 Translate:通过预先计算转换向量,将指定的转换向量应用到此矩阵。使用 Matrix 类能够进行对象的投射、缩放以及平移,并通过执行坐标转换呈现在图片中。作为投影特效,Matrix 类通过将现有的对象进行转换、压缩、平移,并通过 Graphics 对象的 DrawString 方法进行输出, 使之看上去向文字的投影

30、效果一样。,28,倒影特效 主讲:Jayce_Zou,Brush shadowBrush = Brushes.LightBlue; /创建倒影笔刷 Brush foreBrush = Brushes.Blue; /创建本体笔刷 Font font = new Font(“微软雅黑“, Convert.ToInt16(40), FontStyle.Italic); /配置字体 Bitmap images = new Bitmap(600, 150); Graphics gr = Graphics.FromImage(images); /创建 Graphice gr.Clear(Color.Whi

31、teSmoke); string text = “ASP.NET 3.5 开发大全“; /设置文字 Size size = gr.MeasureString(text, font); /设置矩形大小 int posX = (600 - Convert.ToInt16(size.Width) / 2; /设置平移坐标 int posY = (150 - Convert.ToInt16(size.Height) / 2;/设置平移坐标 gr.TranslateTransform(posX, posY); /执行转换 GraphicsState state = gr.Save(); /图形保存 gr

32、.ScaleTransform(1, -1.0F); /图形变换 gr.DrawString(text, font, shadowBrush, 0, -120); /输出倒影 gr.Restore(state); /图形重置 gr.DrawString(text, font, foreBrush, 0, 0); /输出本体 images.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);,29,旋转特效 主讲:Jayce_Zou,如果要实现旋转特效,首先需要获取一段文字,该文字进行通过平移坐标原点进行变换,

33、当需要实现旋转时,则通过循环不停的实现旋转平移 : Bitmap images = new Bitmap(400, 400); /创建 Bitmap 对象 Graphics gr = Graphics.FromImage(images); /创建绘图对象 gr.Clear(Color.WhiteSmoke); /格式化画布 gr.SmoothingMode = SmoothingMode.AntiAlias; /设置边缘for (int i = 0; i = 360; i += 20) /循环旋转 gr.TranslateTransform(200, 200); /变形 gr.RotateTr

34、ansform(i); /按角度变形 Brush brush = Brushes.Red; /创建画笔 Font font = new Font(“微软雅黑“, 12); /创建文字 /绘制文字 gr.DrawString(“ASP.NET 3.5 开发大全 “, font, brush, 0, 0); gr.ResetTransform(); /重置变形 images.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);,30,载入图像文件 主讲:Jayce_Zou,使用 Image 控件能够载入图像文件,

35、拖动一个 Image 控件到页面,页面会自动生成 HTML 代码,示例代码如下所示。在控件的章节中,讲到 Image 控件包括以下常用属性: AlternateText:在图像无法显示时显示的备用文本。 ImageAlign:图像的对齐方式。 ImageUrl:要显示图像的 URL。 配置完成后的图像控件示例代码如下所示: ,31,GDI+输出图像 主讲:Jayce_Zou,示例代码如下所示: protected void Page_Load(object sender, EventArgs e) /读取现有图片 Bitmap images = new Bitmap(Server.MapPat

36、h(“autom.jpg“); /格式化输出 images.Save(Response.OutputStream, images.RawFormat); images.Dispose(); /释放对象 上述代码使用了 Bitmap 类进行图形输出,Bitmap 类的默认构造方法能够载入现有的图片并执行输出。 注意:Bitmap 类的 RawFormat 属性能够直接返回现有文件的文件类型,在 Bitmap 的 Save 方法中可直接使用。,32,底片效果 主讲:Jayce_Zou,在 ASP.NET 中,可以通过网页进行图片处理,包括底片、锐化等效果。在进行底片效果制作前,首先需要了解底片效果

37、是如何实现的,在图片显示中,其实是很多很多的点(像素)组成一个图片的,如果像素的数量很多,则图片显示的就清晰,如果像素数量较少,则图片看上去就不那么清晰。一个图片的组成是通过像素组成的,这也就是说,一个图片包括很多的小点进行组合,最后组合成图片。在进行底片效果的制作时,只需要分别找到图片中的这些点,并获取这些点的像素的值,再取反保存即可。,33,主讲:Jayce_Zou,Bitmap images = new Bitmap(Server.MapPath(“change.jpg“); for (int i = 0; i images.Width; i+) /循环遍历宽 for (int j =

38、0; j images.Height; j+) /循环遍历高度 Color pix = images.GetPixel(i, j); /获取图像像素值 int r = 255 - pix.R; /像素值取反 int g = 255 - pix.G; /转换颜色 int b = 255 - pix.B; /转换颜色 images.SetPixel(i, j, Color.FromArgb(r, g, b); /保存像素值 images.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); images.Disp

39、ose();,34,浮雕效果 主讲:Jayce_Zou,执行浮雕效果与底片效果实现手法非常类似,但是浮雕效果的实现与底片效果的实现中所需要使用的算法又不尽相同。实现浮雕效果通常是将图像上每个像素点与其对角线的像素点形成差值,使相似颜色值淡化,不同颜色值之间保持突出,从而形成纵深感,达到浮雕的效果。在程序开发中,可以讲像素点的像素值与周边的像素值相减后加上 128,则可以呈现浮雕效果。,35,浮雕效果 主讲:Jayce_Zou,Bitmap images = new Bitmap(Server.MapPath(“change.jpg“); /载入图片 for (int i = 0; i imag

40、es.Width-1; i+) /循环遍历宽 for (int j = 0; j images.Height-1; j+) /循环遍历高度 Color pix1 = images.GetPixel(i, j); /获取图像像素值 Color pix2 = images.GetPixel(i+1, j+1); /获取图像像素值 int r = Math.Abs(pix1.R - pix2.R + 128); /实现浮雕效果 int g = Math.Abs(pix1.G - pix2.G + 128); int b = Math.Abs(pix1.B - pix2.B + 128); r = c

41、heck(r); /判断是否溢出 g = check(g); b = check(b); images.SetPixel(i, j, Color.FromArgb(r, g, b); /设置像素值 images.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); images.Dispose();,36,浮雕效果 主讲:Jayce_Zou,Bitmap images = new Bitmap(Server.MapPath(“change.jpg“); /载入图片 for (int i = 0; i imag

42、es.Width-1; i+) /循环遍历宽 for (int j = 0; j images.Height-1; j+) /循环遍历高度 Color pix1 = images.GetPixel(i, j); /获取图像像素值 Color pix2 = images.GetPixel(i+1, j+1); /获取图像像素值 int r = Math.Abs(pix1.R - pix2.R + 128); /实现浮雕效果 int g = Math.Abs(pix1.G - pix2.G + 128); int b = Math.Abs(pix1.B - pix2.B + 128); r = c

43、heck(r); /判断是否溢出 g = check(g); b = check(b); images.SetPixel(i, j, Color.FromArgb(r, g, b); /设置像素值 images.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); images.Dispose();,37,判断是否溢出 主讲:Jayce_Zou,在进行浮雕效果实现时,需要进行判断,判断转换后的值是否超过 255 或者小于 0,如果超过 255 则按 照 255 进行处理,如果小于 0 则按照 0 进行处理。c

44、heck 函数代码如下所示: protected int check(int x) if (x 255) /如果像素值大于 255return 255; /返回 255 else if (x 0) /如果像素值小于 0return 0; /返回 0 elsereturn x; /直接返回 ,38,小结 主讲:Jayce_Zou,本章介绍了 ASP.NET 图形图像编程,通过 ASP.NET 图形图像编程能够在 Web 上执行图形图像的修改以及渲染。在页面中绘制图形图像包含很多方法,最简单的方法就是使用 Graphics 类中的方法进行图形的绘制,Graphics 类不仅提供了基本图形的绘制,还提供了图像、图标图像的绘制。GDI+看上去好像比较复杂,但是通过几个实例就能够了解其实 GDI+并不困难,在 ASP.NET 中,最常用的图形图像编程的方类属 Graphics 类了。本章还包括:图形图像基础:介绍了图形图像编程基础。 GDI+简介:介绍了 GDI+编程基础。 .NET Framework 绘图类:介绍了.NET Framework 绘图类。 图形绘制实例:进行图形图像编程,通过使用现有类进行基本图形的创建。 绘制文字特效:使用 GDI+进行文字绘制和特效渲染。 图像特效处理:使用 GDI+进行图像特效的处理。 本章还介绍了图像显示的基本原理,以及图像特效的实现思路。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 图形图像

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报