首页 技术 正文
技术 2022年11月13日
0 收藏 693 点赞 4,763 浏览 1620 个字

引言

基于生成图片实现了一个手机号转图片的需求。 内容也很简单,直接用手机号生成一个png图片。就是为了背景透明以便其他地方调用。 有无锯齿主要依靠一句代码:g.TextRenderingHint= TextRenderingHint.AntiAlias;

生成图片

1、有锯齿

C# 生成验证码图片时消除锯齿

2、无锯齿

C# 生成验证码图片时消除锯齿

生成方法

string color = "#ff6633";        System.Drawing.Bitmap image = new System.Drawing.Bitmap(170, 35);
Graphics g = Graphics.FromImage(image); try
{
g.TextRenderingHint= TextRenderingHint.AntiAlias; //消除锯齿 //生成随机生成器
Random random = new Random(); //清空图片背景色
//g.Clear(Color.Transparent); //画图片的背景噪音线
/*for (int i = 0; i < 2; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);
}
*/
System.Drawing.ColorConverter colConvert = new System.Drawing.ColorConverter();
Color fontColor =(System.Drawing.Color)colConvert.ConvertFromString(color); Font font = new System.Drawing.Font("Arial", 18, System.Drawing.FontStyle.Bold);
LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), fontColor, fontColor,LinearGradientMode.Horizontal); g.DrawString(phone, font, brush, 2, 2); //画图片的前景噪音点
//for (int i = 0; i < 50; i++)
//{
// int x = random.Next(image.Width);
// int y = random.Next(image.Height); // image.SetPixel(x, y, Color.FromArgb(random.Next()));
//} //画图片的边框线
//g.DrawRectangle(new Pen(Color.White), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream();
Color backColor = image.GetPixel(1, 1);
image.MakeTransparent(backColor);
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
context.Response.ClearContent();
context.Response.ContentType = "image/x-png";
context.Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}

 

参考资料

http://www.blue1000.com/bkhtml/c17/2013-03/71115.htm

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,083
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,558
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,407
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,180
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,817
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,900