c#图片压缩到固定大小怎么实现

   2024-10-27 9770
核心提示:你可以使用C#中的System.Drawing命名空间来实现图片的压缩。下面是一个简单的示例代码,演示如何将图片压缩到指定的大小:using

你可以使用C#中的System.Drawing命名空间来实现图片的压缩。下面是一个简单的示例代码,演示如何将图片压缩到指定的大小:

using System;using System.Drawing;using System.Drawing.Imaging;using System.IO;public class ImageCompressor{    public void CompressImage(string sourcePath, string outputPath, int maxWidth, int maxHeight)    {        using (Image sourceImage = Image.FromFile(sourcePath))        {            double aspectRatio = (double)sourceImage.Width / sourceImage.Height;            int newWidth = maxWidth;            int newHeight = (int)(maxWidth / aspectRatio);            if (newHeight > maxHeight)            {                newHeight = maxHeight;                newWidth = (int)(maxHeight * aspectRatio);            }            using (Bitmap compressedImage = new Bitmap(newWidth, newHeight))            {                using (Graphics graphics = Graphics.FromImage(compressedImage))                {                    graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;                    graphics.DrawImage(sourceImage, 0, 0, newWidth, newHeight);                }                compressedImage.Save(outputPath, ImageFormat.Jpeg);            }        }    }}class Program{    static void Main()    {        ImageCompressor compressor = new ImageCompressor();        compressor.CompressImage("source.jpg", "compressed.jpg", 800, 600);    }}

在上面的示例代码中,CompressImage方法接受源图片的路径、输出路径以及目标宽度和高度作为参数。算法会计算出适合目标宽度和高度的图片尺寸,并将源图片按照这个尺寸进行压缩保存为JPEG格式。您可以根据需要调整压缩质量和输出格式。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号