zoukankan      html  css  js  c++  java
  • [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(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);
    
        //在前面的矩形中绘制字符串
        string drawString = "35℃";
        //创建字符串的绘制字体和画刷
        Font drawFont = new Font("Arial", 16);
        SolidBrush drawBrush = new SolidBrush(Color.Red);
        //设置字符串格式
        StringFormat drawFormat = new StringFormat();
        drawFormat.Alignment = StringAlignment.Center;
        //在矩形中绘制字符串,并且使用drawFormat的性质
        g.DrawString(drawString, drawFont, drawBrush, rc, drawFormat);
    }

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

    程序执行效果:

  • 相关阅读:
    window.location.href问题,点击,跳转到首页
    JS indexOf() lastIndexOf()与substring()截取字符串的区别
    原来的方法增加参数时,必须为新增的参数加个默认值
    Chrome不支持本地Ajax请求解决?
    Smarty中{literal}的使用详解
    windows不能在本地计算机启动apache
    Apache虚拟主机配置
    wamp环境网站根目录更改
    Java 读书笔记 (十三) for each 循环
    Java 读书笔记 (十二) Java Character 类
  • 原文地址:https://www.cnblogs.com/stemon/p/4263154.html
Copyright © 2011-2022 走看看