首先要绘制一个半透明的矩形,用到的方法当然是FillRectangle()。这个函数在调用的时候除了要指明要绘制的矩形外,还要指明填充矩形的背景色。具体的方法就是在绘制矩形的时候传给它一个画刷Brush,对这个画刷指定颜色。带有透明度的颜色就是Color.FromArgb(int32,int32,int32,int32)。

具体代码:

private void Form1_Paint(object sender, PaintEventArgs e)

{

    //获取画布的绘制指针

    Graphics g = e.Graphics;

    //红色笔绘制一个矩形

    Rectangle rc = new Rectangle(10, 10, 100, 100);

    g.DrawRectangle(new Pen(Color.Red), rc);

    //利用带透明度的画刷填充矩形

    SolidBrush sb = new SolidBrush(Color.FromArgb(80, 255, 255, 0));

    g.FillRectangle(sb, rc);

}


使用指定StringFormat的格式化特性,用指定的Brush和Font对象在指定的矩形绘制指定的文本字符串。

代码:

private void Form1_Paint(object sender, PaintEventArgs e)
{
//获取画布的绘制指针
Graphics g = e.Graphics;
//红色笔绘制一个矩形
Rectangle rc = new Rectangle(, , , );
g.DrawRectangle(new Pen(Color.Red), rc);
//利用带透明度的画刷填充矩形
SolidBrush sb = new SolidBrush(Color.FromArgb(, , , ));
g.FillRectangle(sb, rc); //在前面的矩形中绘制字符串
string drawString = "35℃";
//创建字符串的绘制字体和画刷
Font drawFont = new Font("Arial", );
SolidBrush drawBrush = new SolidBrush(Color.Red);
//设置字符串格式
StringFormat drawFormat = new StringFormat();
drawFormat.Alignment = StringAlignment.Center;
//在矩形中绘制字符串,并且使用drawFormat的性质
g.DrawString(drawString, drawFont, drawBrush, rc, drawFormat);
}

提示:上面个的摄氏度符号是在搜狗输入法中打出来的。

程序执行效果:

[C#绘图]在半透明矩形上绘制字符串的更多相关文章

  1. R语言绘图:在地图上绘制热力图

    使用ggplot2在地图上绘制热力图 ######*****绘制热力图代码*****####### interval <- seq(0, 150000, 25000)[-2] #设置价格区间 n ...

  2. R语言绘图:在地图上绘制散点图

    使用ggplot2在地图上绘制散点图 ######*****绘制散点图代码*****####### options(baidumap.key = '**************') #设置密钥 bei ...

  3. OpenCV之响应鼠标(四):在图像上绘制出矩形并标出起点的坐标

    涉及到两方面的内容:1. 用鼠标画出矩形.2.在图像上绘制出点的坐标 用鼠标绘制矩形,涉及到鼠标的操作,opencv中有鼠标事件的介绍.需要用到两个函数:回调函数CvMouseCallback和注册回 ...

  4. c#在pictureBox控件上绘制多个矩形框及删除绘制的矩形框

    在pictureBox上每次只绘制一个矩形框,绘制下一个矩形框时上次绘制的矩形框取消,代码如链接:https://www.cnblogs.com/luxiao/p/5625196.html 在绘制矩形 ...

  5. iOS:quartz2D绘图(在PDF文件上绘制图片)

    quartz2D还可以在PDF文件上绘制图片,它有自己的PDF Graphics Context上下文,通过UIGraphicsBeginPDFContextToFile方法开始上下文后就可以绘制图片 ...

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

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

  7. 哪个HTML5内建对象用于在画布上绘制?()

    哪个HTML5内建对象用于在画布上绘制?() getContent getContext getGraphics getCanvas 我的理解: A.C.D不存在HTML5,,js方法中 HTML 5 ...

  8. HTML5<canvas>标签:使用canvas元素在网页上绘制线条和圆(1)

    什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...

  9. Qt 2D绘图之一:基本图形绘制和渐变填充

    Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter.QPaintDevice和QPaintEngine这三个类.它们三者的关系如下图所示: QP ...

随机推荐

  1. 《UML和模式应用》重点之思想篇

    本书是帮助开发人员和学生学习面向对象分析和设计(OOA/D)的核心技能的重要工具. UML不是OOA/D.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...

  2. JSP简单练习-获取表单数据

    在JSP中,server端程序与client交互最经常使用的方法就是採用表单提交数据.表单提交的方法主要有两种,一种是get方法.还有一种是post方法.两者最大的差别:使用get方法提交的数据会显示 ...

  3. FilenameUtils工具类

    转载请出自出处:http://eksliang.iteye.com/blog/2217081 一.概述 这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的 ...

  4. 栈的实现 -- 数据结构与算法的javascript描述 第四章

    栈 :last-in-first-out 栈有自己特殊的规则,只能 后进入的元素 ,最先被推出来,我们只需要模拟这个规则,实现这个规则就好. peek是返回栈顶元素(最后一个进入的). /** * 栈 ...

  5. web - 块元素和内嵌元素的特征

    块: 1.独占一行 2.支持所有的样式 3.不设置宽度的时候,宽度撑满整行 常用的快标签有: div,section,header,nav,footer,article,aside,ul,ol,li, ...

  6. BootStrap 模态框禁用空白处点击关闭问题

    模态框为信息编辑窗口,涉及好多内容,填了半天,若一不小心点了空白处,那就前功尽弃了..... 所以我们很有必要禁用鼠标点击空白处模态框关闭的功能. $('#myModal').modal({backd ...

  7. 设计模式之---模板方法template method的使用

    在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的.Template Method ...

  8. java 对象数组定义

    下面代码实现了定义一个数组对象 public class Student { private String username; private int num; public Student(Stri ...

  9. Spark源码学习3

    转自:http://www.cnblogs.com/hseagle/p/3673132.html 一.概要 本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚 ...

  10. Excel VLOOKUP等使用记录

    1.LEFT 函数:LEFT(G2,ROW(INDIRECT("76:"&LEN(G2)))) 截取G2单元格从开头,SIZE=76的部分字符串 2.RIGHT 函数:RI ...