asp.net的gdi+绘图

本来用asp.net gdi+绘制一个图片,生产的是jpg格式的,可是清晰度不够高。 但是在这里换成png的却报错 System.Drawing.Imaging.ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
找了一堆资料,终于找到了,下面是代码!

Code
 1using System;
 2using System.Data;
 3using System.Configuration;
 4using System.Collections;
 5using System.Web;
 6using System.Web.Security;
 7using System.Web.UI;
 8using System.Web.UI.WebControls;
 9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11using System.Drawing;
12using System.Drawing.Drawing2D;
13using System.Drawing.Imaging;
14
15public partial class CreateImg : System.Web.UI.Page
16{
17    protected void Page_Load(object sender, EventArgs e)
18    {
19
20
21
22
23    }

24    private static ImageCodecInfo GetEncoderInfo(String mimeType)
25    {
26        ImageCodecInfo[] encoders;
27        encoders = ImageCodecInfo.GetImageEncoders();
28        for (int j = 0; j < encoders.Length; ++j)
29        {
30            if (encoders[j].MimeType == mimeType)
31                return encoders[j];
32        }

33        return null;
34    }

35    private Bitmap GetneralCodeImage()
36    {
37
38        //创建位图
39
40        Bitmap bmp = new Bitmap(15018);
41
42        Graphics g = Graphics.FromImage(bmp);
43        g.Clear(Color.FromArgb(247213225));
44        //描绘字符
45        g.DrawString("1366666666"new Font("Verdana"11, FontStyle.Bold),
46                new SolidBrush(Color.FromArgb(2551020)),
47                0,
48                0
49            );
50        g.CompositingQuality = CompositingQuality.HighQuality;
51        g.SmoothingMode = SmoothingMode.HighQuality;
52        g.InterpolationMode = InterpolationMode.HighQualityBicubic;
53        g.PixelOffsetMode = PixelOffsetMode.HighQuality;
54        g.Dispose();
55        return bmp;
56    }

57
58    protected void btnpng_Click(object sender, EventArgs e)
59    {
60        //生成png图片(清晰度高)
61        System.IO.MemoryStream ms = new System.IO.MemoryStream();
62        GetneralCodeImage().Save(ms, ImageFormat.Png);
63        ms.WriteTo(Response.OutputStream);
64    }

65    protected void btnjpeg_Click(object sender, EventArgs e)
66    {
67        //生成jpg图片(清晰度不够)
68        System.Drawing.Imaging.EncoderParameters ep = new System.Drawing.Imaging.EncoderParameters(1);
69        ep.Param[0= new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 95L);
70        System.Drawing.Imaging.ImageCodecInfo ici = GetEncoderInfo("image/jpeg");//这里换成gif后文字显示可以,但背景不清楚
71        this.GetneralCodeImage().Save(Response.OutputStream, ici, ep);
72    }

73}

74

转载于:https://www.cnblogs.com/zmxmiss/archive/2008/10/16/1312302.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴听到你对ASP.NET EF+MVC2实战的兴趣。以下是一些建议,希望对你有所帮助。 首先,ASP.NET是一个基于Web的应用程序框架,它提供了一种创建Web应用程序的高效且灵活的方式。在ASP.NET,MVC(模型-视图-控制器)是一种常用的架构模式,它将应用程序分为三个部分:模型(数据层)、视图(用户界面)和控制器(管理业务逻辑)。使用MVC可以提高应用程序的可扩展性、可维护性和可测试性。 其次,EF(实体框架)是.NET框架的一个ORM(对象关系映射)工具,它可以将数据库的数据映射到.NET对象上,从而使开发人员能够使用面向对象的方式来操作数据库。使用EF可以简化数据库访问和数据持久化的过程,同时还可以提高代码的可读性和可维护性。 最后,MVC2是ASP.NET MVC框架的一个版本,它是基于.NET Framework 3.5开发的,提供了一种更加简单和易于使用的方法来创建Web应用程序。 接下来,我会给出一些学习ASP.NET EF+MVC2实战的建议: 1. 学习ASP.NET MVC框架的基本概念和原理,理解MVC架构模式的优点和使用方式。 2. 学习EF框架的基本概念和原理,掌握EF的常用API和技巧。 3. 学习ASP.NET MVC2框架的基本概念和原理,理解MVC2框架的新特性和改进。 4. 实践ASP.NET EF+MVC2项目,比如创建一个简单的博客应用程序或在线商店应用程序。 5. 使用Visual Studio等开发工具进行调试和测试,学习如何使用调试工具来诊断和解决问题。 6. 参加ASP.NET社区和开发者论坛,与其他开发者交流经验和技巧。 希望这些建议能对你有所帮助,祝你学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值