在.NET中图形包括以下两个步骤。
第一,创建Graphics对象。
第二,使用Graphics对象绘制线条和形状,呈现文本或显示操作图像。
由此可见,如何创建Graphics对象是首先要解决的问题。本节将讲述如何绘制直线、矩形、圆等基本图形,然后基本图形构成复杂的图形。Graphics常用的绘图方法如下表。
10.3.1 创建图形对象
创建图形对象可有如下几种方法。
² 在窗体或控件的Paint事件中接收对图形对象的引用,作为PaintEventArgs的一部分。在为控件创建绘制代码时,通常使用此方法来获取对图形对象的引用。
² 调用某控件或窗体的CreateGraphics方法,以获取对Graphics对象的引用,该对象表示该控件或窗体的绘图图面。如果想在已存在的窗体或控件上绘图,可使用此方法。
² 由从Image继承的任何对象创建Graphics对象。此方法一般用来生成图片。
就ASP.NET Web应用程序而言,前两种是无法做到的,因此只能采用第三种方法。
假设要从网站根目录mm.jpg图形创建图形对象,可以使用如下代码:
Bitmap bmp = new Bitmap(Server.MapPath("~/mm.jpg"));
Graphics g = Graphics.FromImage(bmp);
bmp.Dispose();
g.Dispose();
注意:这里要求图片必须存在,相当于对图片的修改操作,否则将不能创建Bitmap对象,也就无法创建图形对象了。另外,Bitmap对象和图形对象都是非常耗费计算机内存的,所以要及时调用Dispose方法释放占用资源。
当然,也可以在内存中新建Bitmap对象,对其绘制完毕后再保存到硬盘上或直接输入到HTTP流中发回客户端显示。比如在内存中创建一个200+100的图像,代码如下:
Bitmap bmp = new Bitmap(200,100);
Graphics g = Graphics.FromImage(bmp);
bmp.Dispose();
g.Dispose();
2 绘制直线
绘制直线一般使用Graphics对象的DrawLine方法。下面的代码在mm.jpg图片上用红色线条斜画一条直线。
Pen pen = new Pen(Color.Red); // 创建一支红笔
Bitmap bmp = new Bitmap(Server.MapPath("~/mm.jpg"));
Graphics g = Graphics.FromImage(bmp);
g.DrawLine(pen, 0, 0, 100, 100); // 从[0,0]到[100,100]画直线
pen.Dispose();
g.Dispose();
// 存为新图片
bmp.Save(Server.MapPath("~/mm2.jpg"));
bmp.Dispose();
分享到:
相关推荐
这个“VB.NET绘图示例”很可能是为了展示如何利用VB.NET的Graphics类来实现基本和高级的绘图操作。VB.NET 2010是.NET Framework 4.0的一部分,所以这个示例应该兼容该版本的编程环境。 首先,让我们深入了解VB.NET...
在本项目中,我们关注的是一个使用C++与.NET框架结合编写的绘图程序。C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持面向过程编程,也支持面向对象编程的程序设计语言。而.NET框架则是微软提供的一...
在VB.NET中创建一个自定义绘图板是一个有趣且实用的编程挑战,它涉及到图形用户界面(GUI)设计、事件处理、图形绘制等多个知识点。在这个项目中,我们将深入探讨如何利用VB.NET的Windows Forms库来构建一个功能完备...
这套".NET绘图全套PPT"显然是一个关于.NET图形编程的教程集合,可能包含了从基础到进阶的各种主题。 1. **GDI+**:在.NET中,图形设备接口(GDI+)是一个核心组件,用于进行2D图形绘制。GDI+提供了丰富的API,如`...
在.NET框架中,C#语言提供了丰富的功能,其中包括强大的绘图功能,这使得开发者能够创建出自定义的UI控件,...通过学习和研究这个示例,你将能更好地理解.NET绘图技术,并有可能创造出更多具有吸引力的自定义UI控件。
VB.NET绘图工具的核心在于System.Drawing命名空间,该命名空间包含了进行图形绘制所需的各种类。 1. **Graphics类**:这是VB.NET绘图的基础,它代表一个可以进行绘制的表面,如窗口、图像或打印机。通过Form或...
ASP.NET 操作 ECharts 是一个将后端数据与前端可视化图表结合的过程,主要涉及 ASP.NET、C# 和 ECharts 三部分技术。ECharts 是百度推出的一款轻量级的 JavaScript 图表库,提供了丰富的图表类型,如折线图、柱状图...
### ASP.NET绘图(GDI) #### 知识点概览 本文主要介绍如何使用ASP.NET结合GDI+技术来实现在图片上添加文字或图片水印的功能。具体包括以下几个方面的知识点: 1. **理解GDI+在ASP.NET中的应用**。 2. **创建和...
在ASP.NET中,图片操作是一项常见的任务,涉及对图像的各种处理,如调整尺寸、转换颜色模式、添加水印等。本文将深入探讨其中的关键技术,包括`Bitmap`、`Image`和`Graphics`类,这些都是.NET Framework的`System....
`绘图.sln`文件可能是一个VB.NET解决方案,包含了该项目的所有文件和设置。打开它,你可以看到项目的结构和代码实现。`vb绘图.doc`可能是一份文档,详细解释了代码的工作原理或提供了更深入的绘图技巧。 总之,VB...
本文将深入探讨几种常见的.NET绘图方式及其运行效率,旨在为程序员提供决策依据。 首先,我们来看看标题提及的".Net环境下各种绘图方式"。在.NET Framework中,主要的绘图工具是System.Drawing命名空间下的类,如...
首先,我们需要了解的是Windows API,这是Windows操作系统提供的底层接口,开发者可以通过它来执行一些无法直接通过.NET Framework完成的任务,比如桌面绘图。在VB.NET中,我们可以使用P/Invoke(平台调用)来调用...
本教程"dotNET入门经典教程:七天学会用.NET绘图"旨在帮助初学者在短短一周内掌握.NET平台上的图形编程技术。下面,我们将深入探讨这个教程可能涵盖的关键知识点。 第一天:基础概念与环境搭建 首先,教程会介绍...
由于建筑测绘工作的特殊性,往往需要处理大量数据,而手工操作绘图及数据内业处理不仅耗时且劳动强度大。CAD二次开发支持.NET后,可利用***开发自动化应用,以自动化的方式处理和绘制图形,从而提高效率并减轻工作...
综上所述,这个基于C#.NET的小型画图软件是一个使用.NET Framework开发的桌面应用,它的核心功能包括基本的绘图操作和图形的实时重绘。通过分析提供的文件结构,我们可以了解到项目的基本组织方式和开发环境。对于...
3. **GDI+绘图**:VB.NET中的Graphics类和相关API(如Pen、Brush、Point等)使用GDI+进行图形绘制,包括直线、圆弧和多段线。理解如何使用这些类和方法是实现CAD功能的关键。 4. **用户交互**:传值窗体涉及事件...
首先,GDI+是VB.NET中用于图形操作的核心组件,它位于System.Drawing命名空间内。GDI+ 包含了多个类,如Graphics、Pen、Brush、Font和Icon,这些类分别负责不同的图形处理任务: 1. Graphics类:是绘图的基础,提供...
10. **绘图和打印**:你可以控制AutoCAD进行精确的绘图操作,并设置打印参数,实现自动化的图纸输出。 11. **错误处理和调试**:理解如何有效地处理错误和异常,以及如何使用Visual Studio等工具进行调试,对于开发...
在.NET框架中,C#语言提供了丰富的功能来处理打印操作,包括打印文本、图像以及其他文档。本实例将探讨如何利用C#实现图片打印的源码,帮助开发者掌握.NET中的图形打印技术。 首先,我们需要了解.NET Framework中的...