您的位置:首页 > 编程语言 > C#

C# 压缩图片

2010-07-28 10:31 218 查看
将图片进行压缩,已节省硬盘空间。

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;
using System.Media;
namespace JpegTest
{
class Program
{
private static ImageCodecInfo ici;
private static EncoderParameters ep;
private static readonly int intJpegQuality = 60;
static void Main(string[] args)
{
Form1 form1 = new Form1();
form1.Show();
initJpeg();
Image img = Image.FromFile("E://1.jpeg");
MemoryStream newsteam = new MemoryStream();
img.Save(newsteam,ImageFormat.Bmp);
byte[] imageByte = newsteam.GetBuffer();
byte[] imgCP = JpegCP(imageByte);
}
public static void initJpeg()
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == "image/jpeg")
{
ici = codec;
}
}
ep = new EncoderParameters();
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)intJpegQuality);
}
/// <summary>
/// 压缩图片-Gavin 2010-07-19
/// </summary>
/// <param name="imgByte"></param>
/// <returns></returns>
public static  byte[] JpegCP(byte[] imgByte)
{
try
{
Image image = Image.FromStream(new MemoryStream(imgByte));
MemoryStream imgStream = new MemoryStream();
image.Save(imgStream, ici, ep);
return imgStream.GetBuffer();
}
catch (Exception)
{
return null;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: