[转] C# 绘制报表,使用Graphics.DrawString 方法

原文 Graphics.DrawString 方法

在指定位置并且用指定的 BrushFont 对象绘制指定的文本字符串。

public void DrawString(
	string s,
	Font font,
	Brush brush,
	float x,
	float y
)

MSDN上的实例:
public void DrawStringFloat(PaintEventArgs e)

{

// Create string to draw

. String drawString = "Sample Text"; // Create font and brush.

Font drawFont = new Font("Arial", 16);

 SolidBrush drawBrush = new SolidBrush(Color.Black);// Create point for upper-left corner of drawing.

 float x = 150.0F; float y = 150.0F;// Draw string to screen.

e.Graphics.DrawString(drawString, drawFont, drawBrush, x, y);

}

应用的实例:
          private void Myprintpage1(Graphics formGraphics, int w, int h)
        {

            Pen myPen = new Pen(Color.FromArgb(255, Color.Black), 1.0F);
            Font MyFont1 = new Font("宋体", 12, FontStyle.Bold);
            Font MyFont2 = new Font("宋体", 10, FontStyle.Bold);

            formGraphics.TranslateTransform(100.0F, 50.0F);
            //画表格横线

            //画表格竖线 

            for (int i = 200; i < 360; i += 50)
            {
                formGraphics.DrawLine(myPen, new Point(0, i), new Point(600, i));
                formGraphics.DrawLine(myPen,)
            }

            for (int i = 0; i < 750; i += 150)
            {
                formGraphics.DrawLine(myPen, new Point(i, 200), new Point(i, 350));
            }

            //画表格斜线
            formGraphics.DrawLine(myPen, new Point(0, 200), new Point(150, 250));
            //formGraphics.DrawLine(myPen, new Point(150, 125), new Point(300, 125));
            //formGraphics.DrawLine(myPen, new Point(150, 175), new Point(300, 175));
            //写字
            formGraphics.DrawString("    ---数据报表---", new Font("宋体", 20, FontStyle.Bold), Brushes.DimGray, 100, -10);

            formGraphics.DrawString("试验日期(Date)      :_______________", MyFont1, Brushes.DimGray, 0, 50);
            formGraphics.DrawString("操作人员(Operator):_______________", MyFont1, Brushes.DimGray, 0, 75);

            formGraphics.DrawString("试件类型(Parts Type):_______________", MyFont1, Brushes.DimGray, 330, 50);
            formGraphics.DrawString("试件编号(Parts No):_______________", MyFont1, Brushes.DimGray, 330, 75);

            formGraphics.DrawString("上号(UP):_______________", MyFont1, Brushes.DimGray, 0, 100);
            formGraphics.DrawString("下号(DOWN):_______________", MyFont1, Brushes.DimGray, 330, 100);

            formGraphics.DrawString("电压", MyFont1, Brushes.DimGray, 190, 220);

            //formGraphics.DrawString("  (Forward Speed)", MyFont2, Brushes.DimGray, 300, 110);
            formGraphics.DrawString("电流", MyFont1, Brushes.DimGray, 340, 220);

            // formGraphics.DrawString("  (Backward Speed)", MyFont2, Brushes.DimGray, 455, 110);
            formGraphics.DrawString("备用", MyFont1, Brushes.DimGray, 490, 220);

            formGraphics.DrawString("试验数据(Date)", MyFont1, Brushes.DimGray, 0, 270);
            formGraphics.DrawString("数据单位(Unit)", MyFont1, Brushes.DimGray, 0, 320);

            formGraphics.DrawString("操作人员(Operator):_______________   检验者(Checker):_______________", MyFont1, Brushes.DimGray, 0, 970);

            formGraphics.DrawString(DateTime.Now.ToString("yyyy/MM/dd"), MyFont1, Brushes.DimGray, 180, 50);
            formGraphics.DrawString(global.temstr[0], MyFont1, Brushes.DimGray, 180, 75);
            formGraphics.DrawString(global.temstr[2], MyFont1, Brushes.DimGray, 510, 50);
            formGraphics.DrawString(global.temstr[1], MyFont1, Brushes.DimGray, 510, 75);

            formGraphics.DrawString(global.temstr[3], MyFont1, Brushes.DimGray, 180, 100);
            formGraphics.DrawString(global.temstr[4], MyFont1, Brushes.DimGray, 500, 100);

            formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 190, 270);//
            formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 340, 270);//
            formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 490, 270);

            formGraphics.DrawString("V", MyFont1, Brushes.DimGray, 190, 320);

            formGraphics.DrawString("A", MyFont1, Brushes.DimGray, 340, 320);

            formGraphics.DrawString(" ", MyFont1, Brushes.DimGray, 490, 320);

 }

				
时间: 2024-11-07 23:26:27

[转] C# 绘制报表,使用Graphics.DrawString 方法的相关文章

Graphics.DrawString 方法

MSDN上的解释: 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串. public void DrawString( string s, Font font, Brush brush, float x, float y ) MSDN上的实例: public void DrawStringFloat(PaintEventArgs e) { // Create string to draw . String drawString = "Sample Text";

解决VS2015中没有报表项(ReportViewer)的方法

作者:何时.微笑成了种奢求 VS2015中没有报表项(ReportViewer),怎么办?这篇文章主要为大家详细介绍了解决VS2015中没有报表项(ReportViewer)的方法,感兴趣的小伙伴们可以参考一下 没有报表,一般默认安装之后会出现这种情况,在安装的时候选择自定义安装,把Microsoft Office 开发人员工具.Microsoft SQL Server Data Tools勾选上,安装之后就可以找到了. 1.点击vs_entprise安装 2.安装过后的点击修改 3.额外勾选M

Linux环境下BufferedImage Graphics drawString 中文乱码解决方法

在linux环境下的,生成的带文字的图片在前台一直显示为方框乱码,windows环境正常. img.setFont(new Font("宋体", Font.BOLD, 20)); 写中文进入图片之前必须设置字体,而且这个字体必须支持中文,否则就会出现乱码或者方框.问号等等. BufferedImage在内存创建的图像调用的是服务器端的字体,所以在img.drawString(str, x, y);时,如果服务器端找不到对应的中文字体,那么它就识别不了,最后写入图片的中文就变成了乱码.方

ggplot小技巧:绘制无限制页面大小图表方法-unlimited page size

第一次发,mark一下 ------------------------------------------------------------------------------------------------------------------------------------------------------------- ggplot对于使用R的人来说就是艺术家手中的神来之笔,其基本的使用方法这里不再赘述,可以直接参考 http://www.r-bloggers.com/sear

graphics.drawRect()方法

drawRect方法的官方API文档描述 drawRect public void drawRect(int x, int y, int width, int height) Draws the outline of the specified rectangle. The left and right edges of the rectangle are at x and x + width. The top and bottom edges are at y and y + height.

ZBrush通过绘制层得到子物体方法

本文将为大家介绍在ZBrush软件中第三种创建子物体的方法,即使用绘制层得到子物体. 1.在Light Box(灯光盒子)默认的3D工具中选择SuperAverageMan_low人体模型,在视图文档中拖拽出来,进入Edit(编辑)模式,然后展开Geometry(几何体)面板,单击Divide(细分)按钮,将球体模型细分为5级. 2.单击Tool>Layers(工具>绘制层)面板中单击New(新建)按钮,创建一个新层,选择合适的笔刷和Alpha,在模型上拖拽鼠标左键,得到一个方形纹理,如下图所

帆软报表平台的使用方法

一般情况下,报表平台作为所有报表统筹管理的平台而存在.作为报表系统的中央枢纽性功能,报表平台到底是什么样子的,我们在报表平台中具体又能进行怎样的的活动?下面以FineReport报表平台为例进行解读.FineReport报表平台是帆软公司开发的独立报表管理系统,在报表平台中,管理员可以进行报表管理.用户管理.权限管理和平台管理,用户可以查阅.收藏.填报报表,完成各项业务活动.配合帆软报表强大的数据连接.报表制作功能,报表平台可以轻松成为报表中心,为各部门提供各种数据和报表支持. 作为管理员,如何

报表性能优化方案之多种报表服务器内存修改方法

服务器内存修改 各应用服务器的内存配置方法不尽相同,如下列出了常用服务器的JVM参数(-Xms,-Xmx)配置方法. JVM参数定义: - Xms: 初始化内存大小 - Xmx: 可以使用的最大内存 示例工具 以下示例工具:报表开发工具FineReport Tomcat服务器内存修改 1. 问题描述 java应用程序运行过程中会使用web应用服务器的内存,如执行报表获取的数据,运算的中间数据等都需要暂存在服务器内存中. 当没有空内存可用时,就会出现内存溢出错误:java.lang.OutOfMe

批量绘制报表统计图

报表应用中往往要在一张报表中显示多个统计图,如按照一级分类扩展,再按照该分类下某维度进行统计图绘制.润乾集算报表提供了批量绘制统计图的方式,下面通过实例来看一下实现方式. 根据订单表中地区和城市分组汇总订单金额,需要显示每个地区下各城市订单总额统计图,如下图示: 在报表设计器中新建报表,报表样式如下: 报表按照地区和城市分组,将统计图(B3格)置于地区扩展格A3下跟随扩展,统计图设置如下: 再看一个例子. 查看每个地区每年订购的产品类别数量占比,如下图示: 这是一个典型的交叉报表,统计图随横向和