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 ...
随机推荐
- Java实现二叉树的前序、中序、后序、层序遍历(递归方法)
在数据结构中,二叉树是树中我们见得最多的,二叉查找树可以加速我们查找的效率,那么输出一个二叉树也变得尤为重要了. 二叉树的遍历方法分为四种,分别为前序遍历.中序遍历.后序.层序遍历.下图即为一 ...
- QT槽函数处理线程
今天用到QTcpSocket的时候,由于客户端发起请求在一个线程里,当readyRead的信号发出后接收的槽函数是否还会在该线程里处理? 现在看来其实是交给主线程处理的,那么我要实现在线程里处理怎么实 ...
- java的线程
public class Test1 extends Thread{ public void run(){ // } } public class Test2 immplement Runnable{ ...
- Failed to resolve: com.android.support:appcompat-v7:28 问题解决
apply plugin: 'com.android.application' android { compileSdkVersion buildToolsVersion "28.0.2&q ...
- Luogu P4009 汽车加油行驶问题
题目链接 \(Click\) \(Here\) 分层图..好长时间没写差点要忘了\(hhhhh\),其实思路还是很明了的. 注意需要强制消费. #include <bits/stdc++.h&g ...
- tcpdump高级过滤
一:查看帮助选项 tcpdump --help Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C ...
- linux 用户登陆信息查询
1.查看命令历史 每个用户都有一份命令历史记录 查看$HOME/.bash_history 或者在终端输入: history 2.last命令 查看用户登录历史 此命令会读取 /var/log/wtm ...
- lucene之中文分词及其高亮显示(五)
中文分词:即换个分词器 Analyzer analyzer = new StandardAnalyzer();// 标准分词器 换成 SmartChineseAnalyzer analyze ...
- Intellij Idea识别Java Web项目
使用maven生成一个Java项目,手动添加相应的web目录WEB_INF,web.xml等,此时idea没有自动识别为web项目,此时编辑web.xml文件会出现一些不该出现的错误,需要做的就是让i ...
- Java动态代理之JDK实现和CGlib实现(简单易懂)
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(静态代理) 代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是 ...