Image bgimage = Image.FromFile(flieUrl + bgImg);
if (bgimage != null)
{
Bitmap bmp1 = new Bitmap(bgimage); //新建一个背景图大小的图像文件
Bitmap bmp2 = new Bitmap(bmp1);//将图片流复制到新的图片流中

Graphics draw = null;

int towidth = bgimage.Width;
int toheight = bgimage.Height;

//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
System.Drawing.Image bitmap2 = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(bgimage, 0, 0);

try
{
//画二维码
Image code_img = Image.FromStream(ms);
g.DrawImage(code_img, new Rectangle(Convert.ToInt32(bgimage.Width / 5), bgimage.Height / 3, code_img.Width, code_img.Height));
code_img.Dispose();

//画运营商logo和名称
//Image logo_img = Image.FromFile(GlobalLogic.GetFileServerAddress() + op.Logo);
//g.DrawImage(logo_img, new Rectangle(10, 10, logo_img.Width, logo_img.Height));
//logo_img.Dispose();

Font f = new Font("宋体", 20, FontStyle.Bold);
Brush br = new SolidBrush(Color.White);
if (op.OpertorsName.Length > 15)
{
op.OpertorsName = op.OpertorsName.Substring(0, 10) + "...";
}
g.DrawString(op.OpertorsName, f, br, new RectangleF(Convert.ToInt32(bgimage.Width / 3.5), 40, 400, 40));

//画门店名称
Font fc = new Font("宋体", 20, FontStyle.Bold);
Brush brc = new SolidBrush(Color.White);
g.DrawString(storeName, fc, brc, new RectangleF(Convert.ToInt32(bgimage.Width / 2.5), bgimage.Height - (bgimage.Height / 5), 400, 40));

Random r = new Random();
string uploadFileName = DateTime.Now.ToString("MMddhhmmss") + r.Next(100000, 999999);
url = string.Format("/Upload/Temp/{0}", uploadFileName);
//以jpg格式保存缩略图

//用新建立的image对象拷贝bitmap对象 让g对象可以释放资源
draw = Graphics.FromImage(bitmap2);
draw.DrawImage(bitmap, 0, 0);

bgimage.Dispose();
bitmap.Dispose();
g.Dispose();
//保存调整在这里即可

bitmap2.Save(HttpContext.Current.Server.MapPath(url) + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
url = url + ".jpg";

}
catch (System.Exception e)
{
throw e;
}
finally
{

}

c#代码输入图片的更多相关文章

  1. Carbon - 在线生成精美的代码片段图片(含插件)

    Carbon 是一个可以帮助你创建和分享源代码美丽图像的小工具.开始在文本区域输入或拖入代码文件以开始使用.你还在等什么? 让你的设计实力给阅读者留下深刻印象. 在线演示      免费下载 您可能感 ...

  2. Visual studio智能感知挡住了当前代码输入行

    AssistX->Listboxes->Enable Visual Assist completion, suggestion and member list in .. 如果勾选了该项就 ...

  3. MVC中return File(byte[],"image/jpeg")输入图片不清晰

    MVC中需要输入图片的时候有一个便捷的方法,return File(byte[],"image/jpeg"); 但是这样处理的图片很不清晰(特别是要进行缩放,DrawImage,D ...

  4. 如何利用CSS代码使图片和文字在同一行显示且对齐

    对于初学css的新手朋友来说,经常会遇到这样一个问题,当文字和图片出现在同一行或者同一个div里面的时候,在浏览器中运行出来的显示效果往往是在不同的行,那么,我们怎么才能利用CSS代码使图片和文字在同 ...

  5. 提升c++builder 代码输入流畅度的配置

    提高c++builder 代码输入流畅度 1.输入指针的函数名后,识别函数参数移动光标到括弧内,此功能太慢,有明显延迟,建议关闭.关闭以后,输入函数名不会自动添加(),需要自己手动输入括弧了,不过速度 ...

  6. c++builder 代码输入助手

    c++builder 代码输入助手 指针箭头.指针符号-> 输入太麻烦 java.c#.delphi 语音,输入. 一个字符,就可以弹出代码提示窗口.很是方便. c++,输入->,需要按3 ...

  7. CSS代码实现图片防盗链

    CSS代码实现图片防盗链的方法其实很简单.在CSS文件中添加以下代码: img { filter:exPRession( this.不能去掉 ? "" : ( (!this.com ...

  8. Python人工智能之图片识别,Python3一行代码实现图片文字识别

    1.Python人工智能之图片识别,Python3一行代码实现图片文字识别 2.tesseract-ocr安装包和中文语言包 注意:

  9. iOS Dev (50)用代码实现图片加圆角

    用代码实现图片加圆角:       iconView.layer.masksToBounds = YES;       iconView.;

随机推荐

  1. 网络通信 --> ZMQ安装和使用

    ZMQ安装和使用 ZMQ 并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,它更像是一个底层的网络通讯库,在 Socket API 之上做了一层封装,将网络通讯.进程通讯和线程通 ...

  2. (转)Android 仿订单出票效果 (附DEMO)

    之前我下载了BaseAnimation 开源库(BaseAnimation是基于开源的APP,致力于收集各种动画效果) BaseAnimation 转载的链接:http://blog.csdn.net ...

  3. 设计模式之 原型模式详解(clone方法源码的简单剖析)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 原型模式算是JAVA中最简单 ...

  4. geotrellis使用(三十六)瓦片入库更新图层

    前言 Geotrellis 是针对大数据量栅格数据进行分布式空间计算的框架,这一点毋庸置疑,并且无论采取何种操作,其实都是先将大块的数据切割成一定大小的小数据(专业术语为瓦片),这是分治的思想,也是分 ...

  5. 福州大学W班-alpha冲刺评分

    作业链接 https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/1159 作业要求 1.前期准备 阅读学习&l ...

  6. 第201621123043 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 系统还在创建中..... 为了让你 ...

  7. python pdb 调试

    命令行 Python -m pdb xxx.py l ----> list 显示当前代码 n ----> next 向下执行一行代码 c ----> continue 继续执行代码 ...

  8. git基本用法

    基本用法(下)           一.实验说明 本节实验为 Git 入门第二个实验,继续练习最常用的git命令. 1.1 实验准备 在进行该实验之前,可以先clone一个练习项目gitproject ...

  9. centos 开放端口

    1.修改文件/etc/sysconfig/iptables [root@zsq ~]# cd /etc/sysconfig/[root@zsq sysconfig]# vi iptables 文件内容 ...

  10. CISCO路由器练习

    前言: 总结了昨天的学习和今天的单臂路由 写了今天的文章. 目录: 路由器的基本配置 单臂路由的练习 正文: 路由器基本配置 环境要求 cisco模拟器 2台交换机 2台PC 1台路由器 路由器介绍: ...