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

.net绘图操作四

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

绘制简单图形

简单图形是组成复杂图形的基础,通过本小节的例子,读者可以掌握绘制复杂图形的基础。

除了直线外,矩形是所有简单图形的基础。因为在Windows操作系统中,大部分图形在内存中的表示都是矩形块,比如一个窗体、一个按钮控件等。即使是圆形的界面元素,在表示其位置时,仍然以所在矩形的左上角坐标为参照点,通过宽和高来框定其位置及其区域。

那么如何绘制矩形?Graphics中的DrawRectangle可以在规定一个左上角顶点和长宽边长的情况下绘制一个矩形。下面的代码实现生成一个400*300的图片,并画出一个矩形。

 Pen pen = new Pen(Color.Red); // 创建一支红笔
        Bitmap bmp = new Bitmap(400, 300);
        Graphics g = Graphics.FromImage(bmp);
        // 以[50,50]为左上角,以长200,宽200绘制矩形
        g.DrawRectangle(pen, new Rectangle(50, 50, 200, 200));
        pen.Dispose();
        g.Dispose();
        // 存为新图片
        bmp.Save(Server.MapPath("~/aa.jpg"));
        bmp.Dispose();

 

如何绘制圆形呢?Graphics中的DrawDllipse可以在一个矩形范围内绘制椭圆,当把矩形设置为正方形时,就能画成为正圆,代码如下所示:

 Pen pen = new Pen(Color.Yellow); // 创建一支黄笔
        Bitmap bmp = new Bitmap(400, 400);
        Graphics g = Graphics.FromImage(bmp);
        // 以[50,50]为左上角,以长300,宽300的矩形内绘制圆
        g.DrawEllipse(pen, new Rectangle(50, 50, 300, 300));
        pen.Dispose();
        g.Dispose();
        // 存为新图片
        bmp.Save(Server.MapPath("~/bb.jpg"));
        bmp.Dispose();

 

 绘制文本

有时用户需要在图片上显示文字,Graphics中的DrawString可以在图形上绘制文字,其中可以指定坐标、字体、字号等信息。下面的代码简单地在图片上写了几个汉字。

Bitmap bmp = new Bitmap(300, 100);
        Graphics g = Graphics.FromImage(bmp);
        g.Clear(Color.White);
        string str = "画在图片上的文字";
        Font font = new Font("宋体", 15);
        // 黑色笔刷
        SolidBrush brush = new SolidBrush(Color.Red);
        g.DrawString(str, font, brush, 30, 30); // 从[30,30]位置开始写字
        font.Dispose();
        brush.Dispose();
        g.Dispose();
        // 存为新图片
        bmp.Save(Server.MapPath("~/text.jpg"));
        bmp.Dispose();

 填充图形

前面的简单图形基本只有边界,内部区域是空心的。如果想绘制一个实心图形,可以使用Graphics中的FillXXX方法,并使用刷子(Brush对象)填充。

下面的代码示例实现用蓝色填充一个圆形区域。

  Bitmap bmp = new Bitmap(300, 300);
        Graphics g = Graphics.FromImage(bmp);
        // 蓝色笔刷
        SolidBrush brush = new SolidBrush(Color.Blue);
        g.FillEllipse(brush, new Rectangle(5, 5, 250, 250));
        brush.Dispose();
        g.Dispose();
        // 存为新图片
        bmp.Save(Server.MapPath("~/fill.jpg"));
        bmp.Dispose();

 

分享到:
评论

相关推荐

    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....

    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平台上的图形编程技术。下面,我们将深入探讨这个教程可能涵盖的关键知识点。 第一天:基础概念与环境搭建 首先,教程会介绍...

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

    由于建筑测绘工作的特殊性,往往需要处理大量数据,而手工操作绘图及数据内业处理不仅耗时且劳动强度大。CAD二次开发支持.NET后,可利用***开发自动化应用,以自动化的方式处理和绘制图形,从而提高效率并减轻工作...

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

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

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

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

    vb.net基本绘图知识介绍

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

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

    4. **图形数据库(Graphics Database)**:AutoCAD中的所有图形都存储在图形数据库中,开发者可以使用.NET API对数据库中的对象进行操作,如创建、修改、删除等。 5. **事件处理**:AutoCAD.NET支持事件驱动编程,...

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

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

Global site tag (gtag.js) - Google Analytics