`
流星剑
  • 浏览: 91812 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

.net绘图操作三

    博客分类:
  • .net
阅读更多

.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();

 

分享到:
评论

相关推荐

    ASP.NET操作echarts

    使用ASP.NET与echarts进行数据交互,利用C#中的ASP.NET作为后台产生数据,通过Ajax作为前端定时与后端进行数据交互

    .NET打印操作实例--使用GDI绘图打印学生信息源码(包括文字、控件、图片)

    .NET打印操作实例--使用GDI绘图打印学生信息源码(包括文字、控件、图片)

    利用.NET绘图技术制作水晶按钮控件

    最后还得记着释放设备指针等一系列内存清理操作,现在有了.Net类库,我们只需在控件的OnPaint事件中通过e.Graphics返回Graphics对象,然后创建一个自定义的刷子对象Brush来填充Graphics表面,再创建一个Region对象...

    Windows窗体的.Net框架绘图技术实现方法

    本文实例讲述了Windows窗体的.Net框架绘图技术实现方法,非常实用,具体内容如下: 一般来说,当编写一个典型的Windows 窗体程序时,窗体和控件的绘制、效果等操作是不需要特别加以考虑的。这是为什么呢?因为通过...

    Diagram.NET思维导图与流程图绘制工具(C#)

    1.Diagram.NET是一个简单实用的绘图工具,可以绘制指定形状的节点并用线条连接它们,同时也可以设置节点上显示的文字。 2.Diagram.NET以控件的形式调用,目前支持普通矩形,椭圆形,便签和节点矩形以及节点椭圆形。...

    asp.net技术内幕(1)

    第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...

    VB.NET自制的看图工具软件.rar

    你可以通过这个小程序了解一些VB.NET与图片之间的操作技巧,另外还可以学习到窗口对话框的一些基本操作、PictureBox控件用法、目录和文件列表框的使用、处理鼠标事件、偏移量计算图片位置,重画图片、绘图画面,颜色...

    ASP.NET 3.5 开发大全

    15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像文件 ...

    windows mobile GDI 屏幕绘图基础

    之前在做手机UI时在网上找到的资料,是多普达软件研发经理Talingfu编写的,主要讲解了:基本文本操作,基本图形图像操作和高级屏幕绘图

    ASP.NET3.5从入门到精通

    15.1.4 .NET Framework 绘图类 15.2 图形编程 15.2.1 Graphics 类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像...

    ASP.NET 3.5 开发大全word课件

    15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像文件 ...

    ASP.NET.4揭秘

    asp.net 4揭秘.第1卷》 第一部分 构建asp.net页面 第1章 asp.net framework概览2 1.1 asp.net和.net framework5 1.1.1 框架类库5 1.1.2 公共语言运行库10 1.2 asp.net控件11 1.2.1 asp.net控件概览11 1.2.2 html控件...

    ASP.NET 3.5 开发大全11-15

    15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像文件 ...

    《VC++.NET精彩百例》配套代码

    [涉及平台] VC++.NET [作者] void [文件大小] 2969KB [更新日期] 2005-10-30 <br/>一、资源说明 <br/>第1章 界面编程 实例1 "欢迎"界面 实例2 动态字幕效果 实例3 透明窗体 ...

    ASP.NET 3.5 开发大全1-5

    15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像文件 ...

    .Net.Framework3.5开发技术详解[中文][PDF][VOL1]

    1.3 .NET3.5的组件 3 1.3.1 WindowsPresentaionFoundation(WPF) 3 1.3.2 WindowsCommunicationFoundation(WCF) 5 1.3.3 WorkflowFoundation(WF) 6 1.4 搭建.NET3.5的开发环境 6 1.4.1 在WindowsXP/2003/Vista上搭建...

    精通.Net核心技术高级特性.part1

    主要介绍最实用的高级技术,包括远程处理、互操作、正则表达式、GDI 十绘图、ADO.NET等。远程处理为开发.NET中的分布式应用提供了全面的解决方案。互操作提供了.NET和传统DLL、COM、COM十的互操作,它们为应用程序...

    精通.Net核心技术高级特性.part2

    主要介绍最实用的高级技术,包括远程处理、互操作、正则表达式、GDI 十绘图、ADO.NET等。远程处理为开发.NET中的分布式应用提供了全面的解决方案。互操作提供了.NET和传统DLL、COM、COM十的互操作,它们为应用程序...

Global site tag (gtag.js) - Google Analytics