C#后台画图保存为ipg/png的文件
public void Exec1()
{
string imgurl = @"http://api.senwoo.com/Content/HeadPortrait/";
string imgurl = @"E:\";//本地头像路径-------
string imgfile = @"E:\";//图片路径-----------
//背景
Image image = new Bitmap(new Bitmap(imgfile + @"Img\d.jpg"), 720, 496);
#region 写字
Font font = new Font("微软雅黑", 11); //字是什么样子的?
Font font5 = new Font("微软雅黑", 9); //字是什么样子的?
Font font1 = new Font("微软雅黑", 8); //字是什么样子的? 兰亭特黑简.TTF
Font font2 = new Font("微软雅黑 粗体", 12); //字是什么样子的?
Brush brush = Brushes.Orange; //用红色涂上我的字吧; Orange
Brush white = Brushes.White;//白色的笔
#endregion
#region 获取数据库数据
DataSet ds = Getdateset();
DataTable tb = ds.Tables[0];
#endregion
#region 画图
Graphics g = null;
try
{
g = Graphics.FromImage(image);
}
catch (Exception e)
{
WriteLog(e.ToString());
throw;
}
int i = 0;
int num = 0;
int a1 = 41;//控制第(4-10)名的x坐标
int a2 = 36;//控制第(4-10)名的x坐标
int a3 = 47;//控制第(4-10)名的x坐标
int a4 = 65;//控制第(4-10)名的x坐标
int a5 = 65;
int x = 0; //第一 二 三 名的x坐标
foreach (DataRow item in tb.Rows)
{
Image i1 = new Bitmap(imgurl + @"Img\d2.jpg");//头像
if (Convert.ToInt32(item["D1"]) == 1)
{
//第一名
g.DrawImage(i1, 286, 112, 129, 129);
g.DrawImage(new Bitmap(imgfile + @"Img\2.png"), 279, 100, 145, 174);
g.DrawString(item["sdgroupname"].ToString(), font, white, 326, 227);
if (item["stname"].ToString().Length == 3)
{ x = 331; }
else
{ x = 317; }
g.DrawString(item["stname"].ToString(), font5, brush, x, 248);
}
else if (Convert.ToInt32(item["D1"]) == 2)
{
#region MyRegion
g.DrawImage(i1, 85, 139, 129, 129);
g.DrawImage(new Bitmap(imgfile + @"\img\3.png"), 79, 130, 145, 174);
if (item["sdgroupname"].ToString().Length == 3)
{
x = 126;
}
else
{
x = 119;
}
g.DrawString(item["sdgroupname"].ToString(), font, white, x, 256);
if (item["stname"].ToString().Length == 3)
x = 130;
else
x = 120;
g.DrawString(item["stname"].ToString(), font5, brush, x, 277);
#endregion
}
else if (Convert.ToInt32(item["D1"]) == 3)
{
#region MyRegion
WriteLog("开c3");
g.DrawImage(i1, 485, 139, 129, 129);
g.DrawImage(new Bitmap(imgfile + @"Img\5.png"), 479, 130, 145, 174);
if (item["sdgroupname"].ToString().Length == 3)
{
x = 523;
}
else
{
x = 535;
}
g.DrawString(item["sdgroupname"].ToString(), font, white, x, 256);
if (item["stname"].ToString().Length == 3)
x = 527;
else
x = 522;
g.DrawString(item["stname"].ToString(), font5, brush, x, 276);
#endregion
}
else
{
g.DrawImage(i1, a1 + num, 353, 79, 79);
g.DrawImage(new Bitmap(imgfile + @"Img\c.png"), a2 + num, 340, 92, 124);
if (i == 6)
{
a3 = a3 - 5;
}
g.DrawString((4 + i).ToString(), font2, white, a3 + num, 421);
g.DrawString(item["sdgroupname"].ToString(), font1, white, a4 + num, 423);
g.DrawString(item["stname"].ToString(), font1, brush, a5 + num, 438);
num += 92;
i++;
}
}
#endregion
WriteLog("开始保存");
#region MyRegion
//写好了,我要把我的作品收藏起来
try
{
g.BeginContainer();
string imgName = GetImgName();//原来的名字
string Route = "C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\webapps\\Download\\Picture\\Operator\\";//服务器
Route = "E:\\Img\\";//本地路径
image.Save(Route + imgName);//保存在本地
string newImgName = Guid.NewGuid() + ".jpg";
//System.IO.File.Move(Route + imgName, Route + newImgName); //修改名称
//updateImgName(newImgName);
}
catch (Exception ex)
{
throw;
}
#endregion
WriteLog("完成");
}
C#后台画图保存为ipg/png的文件的更多相关文章
- 【故障公告】redis内存耗尽造成博客后台无法保存
非常抱歉,今天上午11:00~11:30左右,由于 redis 服务器内存耗尽造成博客后台故障--保存博文时总是提示"请求太过频繁,请稍后再试",由此给您带来麻烦,请您谅解. 由于 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码]
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
系列目录 https://yunpan.cn/cZVeSJ33XSHKZ 访问密码 0fc2 今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了.而目前easyui 1 ...
- 读取视屏文件,保存帧图片为ppm文件
ffmpeg跟sdl的学习过程:一.版本信息:ffmpeg-3.0.2.tar.bz2SDL2-2.0.4.tar.gz二.编译过程:1.ffmgeg的编译:./configure --enable- ...
- thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用。第二种架构模式两个单入口文件,分别生成两个应用定义define。。。函数可以定义配置文件。。。。
thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用. ...
- 读取.properties配置文件并保存到另一个.properties文件内
代码如下 import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileOutputSt ...
- 第三天,爬取伯乐在线文章代码,编写items.py,保存数据到本地json文件中
一. 爬取http://blog.jobbole.com/all-posts/中的所有文章 1. 编写jobbole.py简单代码 import scrapy from scrapy. ...
- tensorflow 保存训练模型ckpt 查看ckpt文件中的变量名和对应值
TensorFlow 模型保存与恢复 一个快速完整的教程,以保存和恢复Tensorflow模型. 在本教程中,我将会解释: TensorFlow模型是什么样的? 如何保存TensorFlow模型? 如 ...
- 以普通用户启动的Vim如何保存需要root权限的文件
在Linux上工作的朋友很可能遇到过这样一种情况,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误: E45: 'readonly' option is set (add ! to ...
随机推荐
- 【P2303】Longge的问题
题目大意:求\[\sum\limits_{i=1}^ngcd(n,i)\] 题解:发现 gcd 中有很多是重复的,因此考虑枚举 gcd. \[\sum\limits_{i=1}^ngcd(n,i)=\ ...
- 【洛谷P4144】大河的序列
题目大意:给定一个长度为 N 的序列,求序列中连续区间最大的(或和加与和)是多少. 题解: 引理:任意两个数 \(i, j\),若 \(i>j\),则在二进制表示下,i 对应的二进制串的字典序一 ...
- JavaScript ES6 核心功能一览
JavaScript 在过去几年里发生了很大的变化.这里介绍 12 个你马上就能用的新功能. JavaScript 历史 新的语言规范被称作 ECMAScript 6.也称为 ES6 或 ES2015 ...
- python基础之文件表格读取
实现功能:提取表格某一列的值. 所用库:xlrd 打开表格的函数 def open_excel_file(filename,sheet_num=0): xlsfile = filename book ...
- C regex.h
C也是存在正则表达式的 Linux下regex.h知识点和使用样例 上文中有一个样例代码,进行了测试 总结一下有些注意点: 1.上述代码的匹配子串很奇怪,为什么会出现 cnt= a very cnt= ...
- C++基础知识--DAY2
昨天我们主要是讲的C++相对于C语言的变化,结尾讲述了一点引用的基础知识,要明白,引用就是对一个变量取别名,在C++中需要用指针的都可以思考是否可以用引用来代替. 1. 常引用 常引用(const s ...
- Tree Restoration Gym - 101755F (并查集)
There is a tree of n vertices. For each vertex a list of all its successors is known (not only direc ...
- vue初始化页面dom操纵 $nextTick
new Vue({ el: '#app', data:{ }, mounted: function () {/*生命周期函数*/ this.$nextTick(function () { $(&quo ...
- 2017-12-15python全栈9期第二天第三节之使用while循环输出0到10不包含7
#!/user/bin/python# -*- coding:utf-8 -*-count = 0while count < 10: count += 1 if count == 7 : con ...
- 3.建造者模式(Builder)
Builder模式的缘起: 假设创建游戏中的一个房屋House设施,该房屋的构建由几部分组成,且各个部分富于变化.如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正... ...