C#GDI+ 绘制线段(实线或虚线)、矩形、字符串、圆、椭圆

绘制基本线条和图形 比较简单,直接看代码。

             Graphics graphics = e.Graphics;

             //绘制实线
using (Pen pen = new Pen(Color.Black, ))
{
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid; //实线
graphics.DrawLine(pen,,,,);
} //画出虚线
using (Pen pen = new Pen(Color.Black, ))
{
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; //虚线
graphics.DrawLine(pen, , , , );
} //画出矩形
using (Pen pen = new Pen(Color.Black, ))
{
Rectangle rectangle = new Rectangle(,,,);
graphics.DrawRectangle(pen,rectangle);
} //绘制字符串
string str = "Hello 笨男孩!";
graphics.DrawString(str, this.Font, Brushes.Black, , ); //测量字符串的高度和宽度
SizeF szfTitle = graphics.MeasureString(str, this.Font);
graphics.DrawString(str, this.Font, Brushes.Black, , -(int)szfTitle.Height);
graphics.DrawString("该字符串高度:"+szfTitle.Height+" 字符串宽度:"+szfTitle.Width, this.Font, Brushes.Black, , ); //绘制圆
using(Pen pen = new Pen(Color.Black,))
{
//圆
graphics.DrawEllipse(pen,,,,); //在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为100,高为100 此时就是一个圆 //椭圆
graphics.DrawEllipse(pen, , , , ); //在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为100,高为50 此时就是一个椭圆
}

绘制效果

源代码工程文件下载

C#GDI+ 绘制线段(实线或虚线)、矩形、字符串、圆、椭圆的更多相关文章

  1. OpenCV各种绘制调用:线,矩形,圆,椭圆,文字

    OpenCV提供了各种绘制接口,可以往图片里画各种东西,这种功能可以为以后在图像上标记一些信息方便调试 // drawcall.cpp: 定义控制台应用程序的入口点. // #include &quo ...

  2. 如何使用GDI绘制半透明矩形

    /*使用GDI绘制半透明矩形*/ void CDirectXDraw::DrawHalfOpacityRect(HDC hdc,CRect rect) { CDC dc; dc.Attach(hdc) ...

  3. Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图

    1.Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统: Quart2D的API是纯C语言的,API来自于Core  Graphics框架: 2.Quartz 2D可以绘制图形(线段/三 ...

  4. C#利用GDI+绘制旋转文字等效果

    C#中利用GDI+绘制旋转文本的文字,网上有很多资料,基本都使用矩阵旋转的方式实现.但基本都只提及按点旋转,若要实现在矩形范围内旋转文本,资料较少.经过琢磨,可以将矩形内旋转转化为按点旋转,不过需要经 ...

  5. MFC 用gdi绘制填充多边形区域

    MFC 用gdi绘制填充多边形区域 这里的代码是实现一个三角形的绘制,并用刷子填充颜色 在OnPaint()函数里面 运用的是给定的三角形的三个点,很多个点可以绘制多边形 CBrush br(RGB( ...

  6. GDI绘制时钟效果,与系统时间保持同步,基于Winform

    2018年工作之余,想起来捡起GDI方面的技术,特意在RichCodeBox项目中做了两个示例程序,其中一个就是时钟效果,纯C#开发.这个CSharpQuartz是今天上午抽出一些时间,编写的,算是偷 ...

  7. 通过GDI+绘制 验证码

    只为了记录下自己的学习历程,方便日后查看 现在开始言归正传,以下为其完整代码附上 using System; using System.Collections.Generic; using Syste ...

  8. C# 使用GDI+绘制漂亮的MenuStrip和ContextMenuStrip皮肤

    通过上面的效果截图可以看到,重绘后的MenuStrip和ContextMenuStrip可以添加自己的LOGO信息,实现了类似OFFICE2007的菜单显示效果. .NET对菜单控件的绘制提供了一个抽 ...

  9. 『备注』GDI+ 绘制文本有锯齿,透明背景文本绘制

    背景: GDI+ 绘制文本 时,如果 背景是透明的 —— 则会出现 锯齿. //其实,我不用这三个 属性 好多年了 //而且,这三个属性 在关键时刻还有可能 帮倒忙 //关键是:这三个属性,鸟用都没有 ...

随机推荐

  1. ARMv8寄存器手册

    这份手册是从DS5里拷贝出来的,他是以网页的形式用浏览器打开,方面查看寄存器. ARMv8_regs_xhtml.tar.gz

  2. 招聘移动APP、接口、自动化、性能和安全方面的兼职测试讲师

    只要您在移动APP.接口.自动化.性能和安全方面有丰富的测试经验,我们都欢迎您能加入我们,成为我们的兼职测试讲师,我们可以提供给您一份优厚的薪资,同时能在行业发展.企业培训.授课经验.出版专业著作等方 ...

  3. SPI协议详解

    原帖地址:https://blog.csdn.net/weiqifa0/article/details/82765892

  4. css-div翻转动画

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. List集合序列排序的两种方法

    首先讲一下Comparable接口和Comparator接口,以及他们之间的差异.有助于Collections.sort()方法的使用.请参考 1.Comparable自然规则排序//在自定义类Stu ...

  6. eclipse项目名称后面括号里的名称和项目名称不一样

    解决方案: 1:项目右键-属性(Properties)-Web Project Setting, 改名称注意:这个名字将成为你在浏览器访问的路径 2:打开项目目录的.setting文件夹,随便一个文本 ...

  7. 【JavaScript从入门到精通】第二课 初探JavaScript魅力-02

    第二课 初探JavaScript魅力-02 变量 说起变量,我们不得不提起我们有一部比较古老的电视剧叫<包青天>.包青天有一把非常厉害的宝剑叫“尚方宝剑”,见到尚方宝剑有如见到皇帝.某种程 ...

  8. wpf 控件添加背景图片

    方法一,xaml中: <控件> <控件.Background> <ImageBrush ImageSource="/WpfApplication1;compon ...

  9. 使用Deeplearning4j进行GPU训练时,出错的解决方法

    一.问题 使用deeplearning4j进行GPU训练时,可能会出现java.lang.UnsatisfiedLinkError: no jnicudnn in java.library.path错 ...

  10. iis url重写

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.we ...