当前位置: 移动技术网 > IT编程>开发语言>.net > 一个.net 压缩位图至JPEG的实例代码

一个.net 压缩位图至JPEG的实例代码

2017年12月12日  | 移动技术网IT编程  | 我要评论

万事通考试网,吕小骏,我记得我爱过韩文版

首先准备一张位图图像source.bmp,将它保存在bmp.aspx同一目录中
复制代码 代码如下:
   
    <%@ page language="c#" %>
    <%@ import namespace="system.drawing" %>
    <%@ import namespace="system.drawing.imaging" %>

   

    <script language="c#" runat="server">

    private void page_load(object sender, system.eventargs e)
    {

    // 设置 mime 类型为image/jpeg,即将向浏览器输出jpge格式的图像
    response.clear();
    response.contenttype="image/jpeg";

   
    bitmap outputbitmap = new bitmap(server.mappath("source.bmp"));//新建bitmap对象
    system.drawing.imaging.encoderparameters encoderparams = new system.drawing.imaging.encoderparameters();
    long[] quality = new long[1];

    int comp = 0;
    if (request.querystring["comp"] != "") { comp = convert.toint16(request.querystring["comp"]); }
    quality[0] = comp; //0 to 100 最高质量为100
    system.drawing.imaging.encoderparameter encoderparam = new system.drawing.imaging.encoderparameter(system.drawing.imaging.encoder.quality, quality);
    encoderparams.param[0] = encoderparam;

    imagecodecinfo[] arrayici = imagecodecinfo.getimageencoders();//获得包含有关内置图像编码解码器的信息的imagecodecinfo 对象。
    imagecodecinfo jpegici = null;
    for (int x = 0; x < arrayici.length; x++)
    {
    if (arrayici[x].formatdescription.equals("jpeg"))
    {
    jpegici = arrayici[x];//设置jpeg编码
    break;
    }
    }

    if (jpegici != null)
    {
    outputbitmap.save(response.outputstream, jpegici, encoderparams);//将位图对象以流格式并用jpeg编解码参数保存到输出流。

    }

    // clean up
    outputbitmap.dispose();

    }
    </script>

    在浏览器地址输入:http://localhost/bmp.aspx?comp=0
    将会看到图像,调整comp的值,将会看到不同的效果.

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网