一個.net 壓縮位圖至JPEG的實例代碼
更新時間:2013年11月05日 16:22:26 作者:
這篇文章介紹了.net 壓縮位圖至JPEG的實例代碼,有需要的朋友可以參考一下
首先準(zhǔn)備一張位圖圖像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)
{
// 設(shè)置 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 最高質(zhì)量為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();//獲得包含有關(guān)內(nèi)置圖像編碼解碼器的信息的ImageCodecInfo 對象。
ImageCodecInfo jpegICI = null;
for (int x = 0; x < arrayICI.Length; x++)
{
if (arrayICI[x].FormatDescription.Equals("JPEG"))
{
jpegICI = arrayICI[x];//設(shè)置JPEG編碼
break;
}
}
if (jpegICI != null)
{
OutputBitmap.Save(Response.OutputStream, jpegICI, encoderParams);//將位圖對象以流格式并用JPEG編解碼參數(shù)保存到輸出流。
}
// clean up
OutputBitmap.Dispose();
}
</script>
在瀏覽器地址輸入:http://localhost/bmp.aspx?comp=0
將會看到圖像,調(diào)整comp的值,將會看到不同的效果.
復(fù)制代碼 代碼如下:
<%@ 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)
{
// 設(shè)置 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 最高質(zhì)量為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();//獲得包含有關(guān)內(nèi)置圖像編碼解碼器的信息的ImageCodecInfo 對象。
ImageCodecInfo jpegICI = null;
for (int x = 0; x < arrayICI.Length; x++)
{
if (arrayICI[x].FormatDescription.Equals("JPEG"))
{
jpegICI = arrayICI[x];//設(shè)置JPEG編碼
break;
}
}
if (jpegICI != null)
{
OutputBitmap.Save(Response.OutputStream, jpegICI, encoderParams);//將位圖對象以流格式并用JPEG編解碼參數(shù)保存到輸出流。
}
// clean up
OutputBitmap.Dispose();
}
</script>
在瀏覽器地址輸入:http://localhost/bmp.aspx?comp=0
將會看到圖像,調(diào)整comp的值,將會看到不同的效果.
相關(guān)文章
GridView的CheckBox列選擇及多參數(shù)傳遞三步搞定
GridView的CheckBox列選擇及多參數(shù)傳遞三步實現(xiàn):GridView的列設(shè)置/全選的Js處理/后臺對所選值的獲取,操作步驟很詳細,有利于新手學(xué)習(xí),感興趣的朋友可以了解下啊2013-01-01Entity Framework Core生成列并跟蹤列記錄
這篇文章介紹了Entity Framework Core生成列并跟蹤列記錄的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02IE10下Gridview后臺設(shè)置行高不起作用解決方法
GridView1.HeaderStyle.Height=17發(fā)現(xiàn)在IE10 中不起作用,經(jīng)過反復(fù)測試修改為e.Row.Cells[0].Height=17即可解決問題,有類似問題的朋友可以參考下哈2013-04-04Visual Stduio 2010開發(fā)環(huán)境搭建教程
這篇文章主要為大家詳細介紹了Visual Stduio 2010開發(fā)環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04ASP.NET?MVC使用typeahead.js實現(xiàn)輸入智能提示功能
這篇文章介紹了ASP.NET?MVC使用typeahead.js實現(xiàn)輸入智能提示功能的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09ASP.NET MVC5網(wǎng)站開發(fā)修改及刪除文章(十)
這篇文章主要為大家詳細介紹了ASP.NET MVC5網(wǎng)站開發(fā)修改及刪除文章,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-09-09asp.net省市三級聯(lián)動的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例
前段時間需要作一個的Web前端應(yīng)用,需要用多個框架,一個典型的應(yīng)用場景是省市三級聯(lián)動,基于此應(yīng)用,特將三種主要的ajax框架略作整理,方便有需要的朋友查閱。2010-06-06