[C#绘图]在半透明矩形上绘制字符串
首先要绘制一个半透明的矩形,用到的方法当然是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#绘图]在半透明矩形上绘制字符串的更多相关文章
- R语言绘图:在地图上绘制热力图
使用ggplot2在地图上绘制热力图 ######*****绘制热力图代码*****####### interval <- seq(0, 150000, 25000)[-2] #设置价格区间 n ...
- R语言绘图:在地图上绘制散点图
使用ggplot2在地图上绘制散点图 ######*****绘制散点图代码*****####### options(baidumap.key = '**************') #设置密钥 bei ...
- OpenCV之响应鼠标(四):在图像上绘制出矩形并标出起点的坐标
涉及到两方面的内容:1. 用鼠标画出矩形.2.在图像上绘制出点的坐标 用鼠标绘制矩形,涉及到鼠标的操作,opencv中有鼠标事件的介绍.需要用到两个函数:回调函数CvMouseCallback和注册回 ...
- c#在pictureBox控件上绘制多个矩形框及删除绘制的矩形框
在pictureBox上每次只绘制一个矩形框,绘制下一个矩形框时上次绘制的矩形框取消,代码如链接:https://www.cnblogs.com/luxiao/p/5625196.html 在绘制矩形 ...
- iOS:quartz2D绘图(在PDF文件上绘制图片)
quartz2D还可以在PDF文件上绘制图片,它有自己的PDF Graphics Context上下文,通过UIGraphicsBeginPDFContextToFile方法开始上下文后就可以绘制图片 ...
- 如何使用GDI绘制半透明矩形
/*使用GDI绘制半透明矩形*/ void CDirectXDraw::DrawHalfOpacityRect(HDC hdc,CRect rect) { CDC dc; dc.Attach(hdc) ...
- 哪个HTML5内建对象用于在画布上绘制?()
哪个HTML5内建对象用于在画布上绘制?() getContent getContext getGraphics getCanvas 我的理解: A.C.D不存在HTML5,,js方法中 HTML 5 ...
- HTML5<canvas>标签:使用canvas元素在网页上绘制线条和圆(1)
什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...
- Qt 2D绘图之一:基本图形绘制和渐变填充
Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter.QPaintDevice和QPaintEngine这三个类.它们三者的关系如下图所示: QP ...
随机推荐
- 转载文章:Windows Azure 七月份更新:SQL 数据库、流量管理器、自动伸缩、虚拟机
转载文章:Windows Azure 七月份更新:SQL 数据库.流量管理器.自动伸缩.虚拟机 今天上午,我们发布了一些重大的 Windows Azure 更新.这些新的增强功能包括: · SQL 数 ...
- iOS 视图跳转
//跳转 - ( void)present:( id )sender { NSLog ( @"the button,is clicked …" ); // 创建准备跳转的 UIVi ...
- OpenGL中glRotatef()函数究竟对矩阵做了什么
OpenGL中glRotatef()函数究竟对矩阵做了什么 我们知道OpenGL中维持着两套矩阵,一个是模型视图矩阵(model view matrix),另一个是投影矩阵(projection ma ...
- NYOJ306 走迷宫(dfs+二分搜索)
题目描写叙述 http://acm.nyist.net/JudgeOnline/problem.php?pid=306 Dr.Kong设计的机器人卡多非常爱玩.它经常偷偷跑出实验室,在某个游乐场玩之不 ...
- Qt程序设计——txt文本中获取字符串的问题
QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项.因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心 ...
- 达内TTS6.0课件oop_day02
- Android Navigation Drawer(导航抽屉)
Google I/O 2013 Android 更新了Support库,新版本的Support库中新加入了几个比较重要的功能. 添加 DrawerLayout 控件,支持创建 Navigation ...
- 虚拟键盘,移动web开发的痛
原生APP的弹出虚拟键盘和收回虚拟键盘,输入框始终贴在虚拟键盘的上方.如下图: 如果移动端web也想做类似的功能,可以实现吗? 你可能会说着:“不就是放一个position: fixed;的输入框在 ...
- inline函数和一般的函数有什么不同
1.比如: int g(int x) { return x + x; } int f() { return g(); } 这样f会调用g,然后g返回x + x给f,然后f继续把那个值返回给调用者. 如 ...
- 解决Adobe Acrobat “正在纠偏图像,正在旋转图像,正在分解页面”问题
笔者最近遇到的一个问题:用acrobat Pro X 打开pdf显示“正在纠偏图像,正在旋转图像,正在分解页面”,此时acrobat没有响应,要等待其完成,出现就得等一会儿,总出现,总得停顿,看一篇文 ...