c中没有非常高质量图像的压缩图像



我不需要非常高质量的图像。我会用套接字发送这个图像,所以我需要这个图像尽可能小我需要一种压缩图像的方法

    private void button1_Click_1(object sender, EventArgs e)
    {
        OpenFileDialog Open_File = new OpenFileDialog();
        if (Open_File.ShowDialog() == DialogResult.OK)
        {
            FileStream fileStream = new FileStream(Open_File.FileName, FileMode.Open, FileAccess.Read);
            int length = (int)fileStream.Length;
            byte[] buffer = new byte[length];
            fileStream.Read(buffer, 0, length);
            Image x = byteArrayToImage(buffer);//this image I want to compression
            //.............................
        }
    }
    public Image byteArrayToImage(byte[] byteArrayIn)
    {
        MemoryStream ms = new MemoryStream(byteArrayIn);
        Image returnImage = Image.FromStream(ms);
        return returnImage;
    }

Motaz,

我以前做过一个图像处理项目。该项目需要对图像进行压缩/解压缩。你有两种选择可以做你想做的事:1) 你可以自己写算法。

2) 您可以使用库对图像进行压缩/解压缩。如果要使用库,还必须选择:A-您可以使用互联网上的开源库和文章,如以下内容:http://www.codeproject.com/Articles/4769/In-Memory-Image-Compression或者你可以使用像Aforge 这样的库

B-您可以使用商业库,如leadtools-sdk,它允许您通过更改质量因子来增加压缩。此外,对于它们的j2k格式,您可以设置图像的大小。有关代码示例:请参阅以下链接:对于质量因素:www.leadtools.com/help/leadtools/v175/dh/co/leadtools.codcs~leadtool.codcs.codecspenoptions.html#Example_CShttp://www.leadtools.com/help/leadtools/v175/dh/co/leadtools.codecs~leadtools.codecs.codecsjpegoptions.html#Example_CS对于J2K文件大小的设置:www.leadtools.com/help/leadtools/v175/dh/co/leadtools.codcs~leadtool.codcs.codecsjpeg2000options.html#Example_CS使用TargetFileSize属性可以设置文件大小。

在我的事业中,我们决定使用商业工具包,因为它为我们提供了更多的功能、更好的质量和更好的性能。

最新更新