GDI+生成准考证

            Random random = new Random();
            //创建画布
            Bitmap bt = new Bitmap(353, 404, PixelFormat.Format24bppRgb);
            Graphics g = Graphics.FromImage(bt);
            //定义文字样式
            Font fn1 = new Font("Tahoma", 10, FontStyle.Bold);
            Font fn = new Font("Tahoma", 9, FontStyle.Bold);
            //填充背景色
            g.Clear(Color.LightBlue);
            //填文字
            g.DrawString("中国电子学会电子设计工程师认证考试", fn1, Brushes.Black, 

new PointF(46, 20));
            g.DrawString("准 考 证", fn1, Brushes.Black, new PointF(140, 50));
            g.DrawString("准考证号", fn, Brushes.Black, new PointF(14, 85));
            g.DrawString("EDP200903060001", fn, Brushes.Black, new PointF(90, 

85));
            g.DrawString("考生姓名", fn, Brushes.Black, new PointF(14, 115));
            g.DrawString("杜润龙", fn, Brushes.Black, new PointF(90, 115));
            g.DrawString("考生性别", fn, Brushes.Black, new PointF(14, 145));
            g.DrawString("男", fn, Brushes.Black, new PointF(90, 145));
            g.DrawString("身份证号", fn, Brushes.Black, new PointF(14, 175));
            g.DrawString("411024198806021230", fn, Brushes.Black, new PointF(90, 

175));
            g.DrawString("考试级别", fn, Brushes.Black, new PointF(14, 205));
            g.DrawString("电子设计助理工程师", fn, Brushes.Black, new PointF(90, 

205));
            g.DrawString("考试科目", fn, Brushes.Black, new PointF(14, 235));
            g.DrawString("综合知识", fn, Brushes.Black, new PointF(90, 235));
            g.DrawString("实际操作", fn, Brushes.Black, new PointF(220, 235));
            g.DrawString("考试时间", fn, Brushes.Black, new PointF(14, 265));
            g.DrawString("09-05-25 PM 8:00", fn, Brushes.Black, new PointF(90, 

265));
            g.DrawString("09-05-25 PM 8:00", fn, Brushes.Black, new PointF(220, 

265));
            g.DrawString("学校名称", fn, Brushes.Black, new PointF(14, 295));
            g.DrawString("北京工业大学", fn, Brushes.Black, new PointF(90, 295));
            g.DrawString("北京师范大学", fn, Brushes.Black, new PointF(220, 295));
            g.DrawString("考场编号", fn, Brushes.Black, new PointF(14, 323));
            g.DrawString("第一考场", fn, Brushes.Black, new PointF(90, 323));
            g.DrawString("第九考场", fn, Brushes.Black, new PointF(220, 323));
            g.DrawString("详细地址", fn, Brushes.Black, new PointF(14, 353));
            string dizhi = "北京市北京工业大学地址北京工业";
            int j = 335;    //初始坐标
            int j2 = 335;    //初始坐标
            for (int z = 0; z < 17; z += 8)  //循环次数
            {
                int k = z + 10;  // 第一次为0时
                if (k > dizhi.Length)  //k是否大于总字数
                {
                    k = dizhi.Length - k;  // 若大于比如k=45  dizhi.length=40  k=40-45    

k=-5
                    int i = k + 10;      //i = -5+20  这样就不至于截取超出范围
                    g.DrawString(dizhi.Substring(z, i), fn, Brushes.Black, new PointF(90, j 

+= 18));
                    break;
                }
                g.DrawString(dizhi.Substring(z, 8), fn, Brushes.Black, new PointF(90, j += 

18));
            }
            string dizhi2 = "北京市北京师范大学地址北京师范";
            for (int z2 = 0; z2 < 17; z2 += 8)  //循环次数
            {
                int k2 = z2 + 10;  // 第一次为0时
                if (k2 > dizhi2.Length)  //k是否大于总字数
                {
                    k2 = dizhi2.Length - k2;  // 若大于比如k=45  dizhi.length=40  k=40-45   

k=-5
                    int i2 = k2 + 10;      //i = -5+20  这样就不至于截取超出范围
                    g.DrawString(dizhi2.Substring(z2, i2), fn, Brushes.Black, new PointF

(220, j2 += 18));
                    break;
                }
                g.DrawString(dizhi2.Substring(z2, 8), fn, Brushes.Black, new PointF(220, j2 

+= 18));
            }
            //产生杂点
            for (int i = 0; i < 500; i++)
            {
                int x1 = random.Next(bt.Width - 20);
                int y1 = random.Next(bt.Height - 20);
                bt.SetPixel(x1, y1, Color.FromArgb(random.Next()));
            }
            //产生随机曲线
            for (int i = 0; i < 50; i++)
            {
                int x1 = random.Next(bt.Width - 20);
                int y1 = random.Next(bt.Height - 20);
                int x2 = random.Next(1, 30);
                int y2 = random.Next(1, 20);
                int x3 = random.Next(15, 45);
                int y3 = random.Next(70, 270);
                g.DrawArc(new Pen(Color.FromArgb(random.Next())), x1, y1, x2, y2, x3, y3);
            }
            //画横线
            g.DrawLine(new Pen(Color.Black), 10, 75, 341, 75);      //1
            g.DrawLine(new Pen(Color.Black), 10, 105, 243, 105);    //2
            g.DrawLine(new Pen(Color.Black), 10, 135, 243, 135);    //3
            g.DrawLine(new Pen(Color.Black), 10, 165, 243, 165);    //4
            g.DrawLine(new Pen(Color.Black), 10, 195, 341, 195);    //5
            g.DrawLine(new Pen(Color.Black), 10, 197, 341, 197);    //5
            g.DrawLine(new Pen(Color.Black), 10, 225, 341, 225);    //6
            g.DrawLine(new Pen(Color.Black), 10, 255, 341, 255);    //7
            g.DrawLine(new Pen(Color.Black), 10, 285, 341, 285);    //8
            g.DrawLine(new Pen(Color.Black), 10, 315, 341, 315);    //9
            g.DrawLine(new Pen(Color.Black), 10, 345, 341, 345);    //10
            //画竖线
            g.DrawLine(new Pen(Color.Black), 80, 75, 80, 392);      //11
            g.DrawLine(new Pen(Color.Black), 82, 75, 82, 392);      //12
            g.DrawLine(new Pen(Color.Black), 210, 225, 210, 392);   //13
            g.DrawLine(new Pen(Color.Black), 243, 75, 243, 195);    //14
            //画方框
            g.DrawRectangle(new Pen(Color.Black), 10, 10, 331, 382);
            g.DrawRectangle(new Pen(Color.Black), 7, 7, 338, 388);
            //填充图像
            System.Drawing.Image newimage = System.Drawing.Image.FromFile(Server.MapPath

(@"~\image\308329547.gif"));
            //图像定位
            g.DrawImage(newimage, 248, 80, 89, 111);
            //释放图像缓存
            g.Dispose();
            //定义产生图片格式
            Response.ContentType = "image/Jpeg";
            bt.Save(Response.OutputStream, ImageFormat.Jpeg);
            //创建文件夹
            string WenJanpath = Server.MapPath(@"~\zkz_image");
            if (!Directory.Exists(WenJanpath))
            {
                Directory.CreateDirectory(WenJanpath);
            }
            //图片自动保存路径
            bt.Save(Server.MapPath(@"~\zkz_image\杜润龙的准考证" + 

DateTime.Now.ToString("yyyy-MM-dd") + ".jpg"), ImageFormat.Jpeg);
            //释放位图缓存
            bt.Dispose();
            string lujing = Server.MapPath(@"~\zkz_image\杜润龙的准考证" + 

DateTime.Now.ToString("yyyy-MM-dd") + ".jpg");
            Image1.ImageUrl = lujing; 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索g++
, new
, color
, ch341
, linux pen
, pen
, 准考证
, k2画流程
, drawstring
, black
, DrawLine
, fn
大于Z
gdi 生成svg、gdi 生成透明印章图像、高考准考证生成器、准考证生成器、准考证自动生成器,以便于您获取更多的相关知识。

时间: 2024-11-18 06:19:56

GDI+生成准考证的相关文章

利用 ASP.NET Starter Kit 即刻开始 Web 站点开发

asp.net|web|站点|asp.net 摘要 如果您要构建 ASP.NET Web 站点,则需要在坚固可靠的代码基础上来开始构建.从一个完整的站点开始,进行一些修改和自定义,然后上线,是不是很棒?ASP.NET Starter Kit 就是一种允许您这样做的打包解决方案.这五个工具包(Community.Reports.Commerce.Portal 和 Time Tracker)提供可重复使用且可易于自定义的完整代码.此外,有许多 ISP 支持对 ASP.NET Starter Kit

wpf文字显示不全的现象

问题描述 我用WPF做了一个比较大的应用程序,开始还运行正常,但是运行久了,程序占用的内存大了,就会出现了文字显示不全的现象,在有些机器会时常出现,一些机器又没有发现这种现象,不知道是不是没打补丁还是需要在某些时候重绘才可以避免这种问题的发生. 解决方案 解决方案二:这个在winxp系统试过这个wpf有显示文字不全的问题,打了wpf的两个内存泄漏补丁(NDP30SP2-KB967634-x86.exe和NDP30SP2-KB981107-x86.exe)也没用.解决方案三:这个就是文字显示不全机

我只发送了打印一页的命令,为什么打印机经常打出多个相同的页面?

问题描述 各位大虾,我的问题如下:我用了拷屏的方法,然后打印剪贴板内容,代码如下:PublicSubbtnPrint_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnPrint.ClickOnErrorResumeNextSendKeys.SendWait("%{PRTSC}")IfPRI.PrinterSettings.IsValidThenPRI.PrinterSettings.Copies=1

.net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法_实用技巧

复制代码 代码如下: System.Drawing.Image OldImage = null;  oldImage = System.Drawing.Image.FromFile(ImageUrl);   使用该方法读取图片时.导致图片文件被死锁无法释放资源,导置重写资源时出现一般性错误.   解决方法将代码改成以下代码 复制代码 代码如下: Bitmap oImage = new Bitmap(ImageUrl);//从图片文件中读取图片流 Bitmap OldImage = new Bit

C# 数据库系统中使用GDI+绘制柱状图

在C#+SQL Server数据库做系统中,通常需要对数据库中的数据进行绘制图形报表方便经理查看,虽然有很多实用的水晶报表控件和图表控件实现该功能,但我还是想讲讲如何使用GDI绘制简单的柱状图.(推荐大家不要手画,尽量使用已有控件函数绘制) 一.前言 我们在使用C#+SQL Server做的简单应用系统是一个手机销售的系统,所以它有不同手机品牌和不同年份销售手机的利润和数量的柱状图,方便公司经理查看那个月和那种品牌手机销售更好,方便进货增加企业利润.其中它点击"输入年份",查看&quo

C#生成随机中文汉字验证码

汉字|随机|验证码|中文 前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.'  我不得不佩服腾讯为了防止目前网络上横行的QQ号码自动注册机而采取中文验证码的手段.仔细想了想感觉用程序生成随机的中文验证码并不是很难,下面就来介绍一下使用C#生成随机的中文汉字的原理.  1.汉字编码原理  到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个

用C#生成中文汉字验证码的基本原理

汉字|验证码|中文 前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自动注册机而采取中文验证码的手段.仔细想了想感觉用程序生成随机的中文验证码并不是很难,下面就来介绍一下使用C#生成随机的中文汉字的原理. 1.汉字编码原理 到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个汉字组合

用C#生成随机中文汉字验证码的基本原理

汉字|随机|验证码|中文   前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自动注册机而采取中文验证码的手段.仔细想了想感觉用程序生成随机的中文验证码并不是很难,下面就来介绍一下使用C#生成随机的中文汉字的原理. 1.汉字编码原理 到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几

关于.net在生成压缩图片时的2种方法的效果比较

比较|压缩     正好帮朋友搞一个图片管理工具,本来他的程序是使用ASP的,但是ASP在一些服务器方面的功能实在欠缺,因此我就用.NET给他搞了一个小小的图片上传的工具图片在上传时要根据图片大小来生成对应的各种大小的小图,比如传760PX的图片,则分别要多生成300,100宽度的图片.于是查看了GDI的功能,~~ 平时用得不多,生疏啊.. 实现方法有2个方式: 1.使用Image的GetThumbnailImage 方法直接生成压缩图片,大概大概如此:    file://设置 原图片 对象的