欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【一个.net 压缩位图至JPEG的代码】,下面是详细的分享!
一个.net 压缩位图至JPEG的代码
<%@Pagelanguage="c#"%>
<%@ImportNamespace="System.Drawing"%>
<%@ImportNamespace="System.Drawing.Imaging"%>
<scriptlanguage="c#"runat="server">
privatevoidPage_Load(objectsender,System.EventArgse)
{
//设置mime类型为image/jpeg,即将向浏览器输出JPGE格式的图像
Response.Clear();
Response.ContentType="image/jpeg";
BitmapOutputBitmap=newBitmap(Server.MapPath("source.bmp"));//新建BitMap对象
System.Drawing.Imaging.EncoderParametersencoderParams=newSystem.Drawing.Imaging.EncoderParameters();
long[]quality=newlong[1];
intcomp=0;
if(Request.QueryString["comp"]!=""){comp=Convert.ToInt16(Request.QueryString["comp"]);}
quality[0]=comp;//0to100最高质量为100
System.Drawing.Imaging.EncoderParameterencoderParam=newSystem.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality,quality);
encoderParams.Param[0]=encoderParam;
ImageCodecInfo[]arrayICI=ImageCodecInfo.GetImageEncoders();//获得包含有关内置图像编码解码器的信息的ImageCodecInfo对象。
ImageCodecInfojpegICI=null;
for(intx=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编解码参数保存到输出流。
}
//cleanup
OutputBitmap.Dispose();
}
</script>
以上所分享的是关于一个.net 压缩位图至JPEG的代码,下面是编辑为你推荐的有价值的用户互动:
相关问题:C#代码实现图片压缩至40K以下
答:任何压缩算法的压缩比都不能无限的提高的。 最有效地方法就是降低图片的分辨率,即像素值。图片的每个像素占用4个字节,假设一般JPG格式的压缩比为1:10的话,40K字节最多只能储存 40000/4*10 = 10万像素的图片,即图片的长乘以宽不超过10万,一... >>详细
相关问题:如何在.NET平台下用C#代码实现图片的上传与裁剪和...
答:using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlC... >>详细
相关问题:位图都是有压缩格式的吗?
答:bitmap都是无压缩的。 用UltraEdit打开一个Bitmap文件,选择Hex方式查看: A>. 前面的14个字节是头,前面10字节可以直接抄过来,不用变,但后面4个字节是描述图像内容的起始地址. B>. 然后第15,16,17,18字节是Info段的长度,这段一般是40字节长,19,20,... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
