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

.net绘图操作二

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

1.4 Brush

Brush通常被称为,用于定义填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部对象。Brush是一个抽象基类,不能进行实例化。若要创建一个画笔对象,需使用从Brush派生出的类,如SolidBrushTextureBrushLinearGradientBrush

SolidBrush类用于定义单色画笔。画笔用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。下表列举了常用的方法和属性。

System.Drawing.Brushes定义了很多标准笔刷,用户可以直接定义一个蓝色笔刷。

 

System.Drawing.Brush brush = System.Drawing.Brushes.Blue;

 

当然,用户也可以自定义画笔

// 定义一个红色笔刷
System.Drawing.Brush brush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);

 

 

 

TextureBrush类的每个属性都是Brush对象,这种对象使用图像来填充形状的内部,用户可以设置填充的方式。下表例举了常的方法和属性。

 

下面的代码示例演示了用图形填充区域的用法。

 // Brush图片
        string brushfile = Server.MapPath("~/y.jpg");
        // 被填充的图片
        string file = Server.MapPath("~/004.jpg");
        // 声明TextureBrush对象
        System.Drawing.Image brushimg = System.Drawing.Image.FromFile(brushfile);
        System.Drawing.TextureBrush texture = new System.Drawing.TextureBrush(brushimg);
        texture.WrapMode = System.Drawing.Drawing2D.WrapMode.Tile;

        System.Drawing.Image img = System.Drawing.Image.FromFile(file);
        System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(img); // 创建Graphics对象
        g.FillEllipse(texture, new System.Drawing.RectangleF(10.0f, 10.0f, 100, 50)); // 用图形填充
        g.Dispose();
       // img.Dispose();
        // 原书中没有这句,这里要加上这句,如果不加这句则在非IE浏览器显示不出
        Response.ContentType = "image/JPEG";
        // 将图形加载到Response中
        img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

 

1.5 Font

Font用于定义特定的文本格式,包括字体、字号和字形属性。

下表列举了常用方法和属性。

 

下面这行代码将构建一个10磅大小的宋体字体。

 

System.Drawing.Font f1 = new System.Drawing.Font("宋体",10);

 

1.6 Image

Image是为源自BitmapMetafile的类提供功能的抽象基类。下表列举了常用的方法和属性。

 

Image不可以实例化,但可以通过方法来构造:

System.Drawing.Image img1 = System.Drawing.Image.FromFile(Server.MapPath("~/logo.gif"));

 

Image是基类,封装了很多有用的属性和方法,而实际运用时,尤其在生成或者修改图像的时候,一般用其派生类Bitmap表示内存中的图形。Bitmap是用于处理由像素数据定义的图像的对象,是图像处理开发中最常用的对象。用户可以通过多种途径构造Bitmap对象。

System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(Server.MapPath("~/logo.gif")); // 通过文件构造
System.Drawing.Bitmap bmp2 = new System.Drawing.Bitmap(300,200); // 构造一个宽300,高200的对象

 

构造完对象后,可以调用其方法进行操作,比如RotateFlip方法可以实现图像反转,该方法接收RotateFlipType类型的参数,可以的值如下表。

 

比如:

 

System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(Server.MapPath("~/logo.gif")); // 通过文件构造
bmp1.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipX); // 水平翻转90度旋转
// 原书中没有这句,这里要加上这句,如果不加这句则在非IE浏览器显示不出
Response.ContentType = "image/JPEG";
bmp1.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

 

 

 

 

分享到:
评论

相关推荐

    VB.NET绘图示例

    这个“VB.NET绘图示例”很可能是为了展示如何利用VB.NET的Graphics类来实现基本和高级的绘图操作。VB.NET 2010是.NET Framework 4.0的一部分,所以这个示例应该兼容该版本的编程环境。 首先,让我们深入了解VB.NET...

    C++ .NET 绘图程序

    在本项目中,我们关注的是一个使用C++与.NET框架结合编写的绘图程序。C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持面向过程编程,也支持面向对象编程的程序设计语言。而.NET框架则是微软提供的一...

    VB.NET自定义绘图板

    在VB.NET中创建一个自定义绘图板是一个有趣且实用的编程挑战,它涉及到图形用户界面(GUI)设计、事件处理、图形绘制等多个知识点。在这个项目中,我们将深入探讨如何利用VB.NET的Windows Forms库来构建一个功能完备...

    .NET绘图全套PPT

    这套".NET绘图全套PPT"显然是一个关于.NET图形编程的教程集合,可能包含了从基础到进阶的各种主题。 1. **GDI+**:在.NET中,图形设备接口(GDI+)是一个核心组件,用于进行2D图形绘制。GDI+提供了丰富的API,如`...

    c# 利用.Net绘图技术制作水晶按钮控件(C#)

    在.NET框架中,C#语言提供了丰富的功能,其中包括强大的绘图功能,这使得开发者能够创建出自定义的UI控件,...通过学习和研究这个示例,你将能更好地理解.NET绘图技术,并有可能创造出更多具有吸引力的自定义UI控件。

    VB.NET绘图工具

    VB.NET绘图工具的核心在于System.Drawing命名空间,该命名空间包含了进行图形绘制所需的各种类。 1. **Graphics类**:这是VB.NET绘图的基础,它代表一个可以进行绘制的表面,如窗口、图像或打印机。通过Form或...

    ASP.NET绘图(GDI)

    ### ASP.NET绘图(GDI) #### 知识点概览 本文主要介绍如何使用ASP.NET结合GDI+技术来实现在图片上添加文字或图片水印的功能。具体包括以下几个方面的知识点: 1. **理解GDI+在ASP.NET中的应用**。 2. **创建和...

    ASP.NET操作echarts

    ASP.NET 操作 ECharts 是一个将后端数据与前端可视化图表结合的过程,主要涉及 ASP.NET、C# 和 ECharts 三部分技术。ECharts 是百度推出的一款轻量级的 JavaScript 图表库,提供了丰富的图表类型,如折线图、柱状图...

    asp.net图片操作

    在ASP.NET中,图片操作是一项常见的任务,涉及对图像的各种处理,如调整尺寸、转换颜色模式、添加水印等。本文将深入探讨其中的关键技术,包括`Bitmap`、`Image`和`Graphics`类,这些都是.NET Framework的`System....

    基于CAD利用VB.NET二次开发自动化绘图应用研究.pdf

    本文研究的重点在于如何使用***语言,结合.NET框架强大的功能,以及AutoCAD提供的二次开发API,开发出高效、自动化和定制化的绘图解决方案。通过这些方法,开发者可以针对特定的需求进行定制开发,从而满足不同的...

    vb.net使用picturebox绘图

    `绘图.sln`文件可能是一个VB.NET解决方案,包含了该项目的所有文件和设置。打开它,你可以看到项目的结构和代码实现。`vb绘图.doc`可能是一份文档,详细解释了代码的工作原理或提供了更深入的绘图技巧。 总之,VB...

    .Net环境下各种绘图方式的运行效率测试源码

    本文将深入探讨几种常见的.NET绘图方式及其运行效率,旨在为程序员提供决策依据。 首先,我们来看看标题提及的".Net环境下各种绘图方式"。在.NET Framework中,主要的绘图工具是System.Drawing命名空间下的类,如...

    VB.NET 桌面绘图

    首先,我们需要了解的是Windows API,这是Windows操作系统提供的底层接口,开发者可以通过它来执行一些无法直接通过.NET Framework完成的任务,比如桌面绘图。在VB.NET中,我们可以使用P/Invoke(平台调用)来调用...

    dotNET入门经典教程:七天学会用.NET绘图

    本教程"dotNET入门经典教程:七天学会用.NET绘图"旨在帮助初学者在短短一周内掌握.NET平台上的图形编程技术。下面,我们将深入探讨这个教程可能涵盖的关键知识点。 第一天:基础概念与环境搭建 首先,教程会介绍...

    利用vb.net制作的CAD绘图小程序

    9. **图形渲染优化**:对于性能敏感的应用,了解如何优化绘图操作,减少不必要的重绘,可以提高用户体验。 通过深入学习和实践这个CAD绘图小程序,开发者不仅可以掌握VB.NET的基础,还能了解到如何在.NET环境下实现...

    基于c#.net的小型画图软件

    综上所述,这个基于C#.NET的小型画图软件是一个使用.NET Framework开发的桌面应用,它的核心功能包括基本的绘图操作和图形的实时重绘。通过分析提供的文件结构,我们可以了解到项目的基本组织方式和开发环境。对于...

    vb.net基本绘图知识介绍

    首先,GDI+是VB.NET中用于图形操作的核心组件,它位于System.Drawing命名空间内。GDI+ 包含了多个类,如Graphics、Pen、Brush、Font和Icon,这些类分别负责不同的图形处理任务: 1. Graphics类:是绘图的基础,提供...

    AutoCAD.NET开发人员手册(vb.net\c#.net)

    10. **绘图和打印**:你可以控制AutoCAD进行精确的绘图操作,并设置打印参数,实现自动化的图纸输出。 11. **错误处理和调试**:理解如何有效地处理错误和异常,以及如何使用Visual Studio等工具进行调试,对于开发...

    .NET打印操作实例--图片打印源码

    在.NET框架中,C#语言提供了丰富的功能来处理打印操作,包括打印文本、图像以及其他文档。本实例将探讨如何利用C#实现图片打印的源码,帮助开发者掌握.NET中的图形打印技术。 首先,我们需要了解.NET Framework中的...

Global site tag (gtag.js) - Google Analytics