当前位置: 首页 > news >正文

厦门专业网站设计1元购买域名

厦门专业网站设计,1元购买域名,怎么自己制作个网站,网站建设 的公司在 C# 中,System.Drawing.Bitmap 是表示图像的核心类之一。如果想要对 Bitmap 对象进行压缩,通常是指将其保存为文件时使用较低的图像质量(例如 JPEG 格式),或者调整其尺寸以减少内存占用或文件大小。 一、使用 Image…

在 C# 中,System.Drawing.Bitmap 是表示图像的核心类之一。如果想要对 Bitmap 对象进行压缩,通常是指将其保存为文件时使用较低的图像质量(例如 JPEG 格式),或者调整其尺寸以减少内存占用或文件大小。

一、使用 Image.Save 方法并设置压缩参数(推荐)

将 Bitmap 保存为 JPEG 并设置压缩质量

using System;
using System.Drawing;
using System.Drawing.Imaging;public class ImageCompressor
{public static void CompressAndSave(Bitmap bitmap, string outputPath, long quality = 80L){// 指定编码器为 JPEGImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);// 设置压缩质量Encoder qualityEncoder = Encoder.Quality;EncoderParameters encoderParams = new EncoderParameters(1);EncoderParameter qualityParam = new EncoderParameter(qualityEncoder, quality); // 0-100encoderParams.Param[0] = qualityParam;// 保存图像bitmap.Save(outputPath, jpgEncoder, encoderParams);}private static ImageCodecInfo GetEncoder(ImageFormat format){ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();foreach (ImageCodecInfo codec in codecs){if (codec.FormatID == format.Guid){return codec;}}return null;}
}

使用示例:

Bitmap bmp = new Bitmap("input.png");
ImageCompressor.CompressAndSave(bmp, "output.jpg", 70L); // 压缩质量设为70%
bmp.Dispose();

二、调整图像尺寸进行“体积”压缩

如果希望进一步减小图像大小,可以先调整图像的宽高,然后可以结合上面的方法,把缩小后的图像再进行压缩保存:

public static Bitmap ResizeBitmap(Bitmap original, int newWidth, int newHeight)
{Bitmap resized = new Bitmap(newWidth, newHeight);using (Graphics g = Graphics.FromImage(resized)){g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;g.DrawImage(original, 0, 0, newWidth, newHeight);}return resized;
}

三、将压缩后的 Bitmap 转为字节数组(用于网络传输等)

public static byte[] CompressBitmapToBytes(Bitmap bitmap, long quality = 80L)
{using (var ms = new MemoryStream()){ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);Encoder qualityEncoder = Encoder.Quality;EncoderParameters encoderParams = new EncoderParameters(1);encoderParams.Param[0] = new EncoderParameter(qualityEncoder, quality);bitmap.Save(ms, jpgEncoder, encoderParams);return ms.ToArray();}
}

注意事项:

  1. 格式支持:只有某些图像格式(如 JPEG)支持质量压缩,PNG 是无损压缩格式,不支持。
  2. 资源释放:记得调用 .Dispose() 来释放 Bitmap 和 Graphics 等资源。
  3. 性能优化:频繁操作图像时建议使用 unsafe 或 LockBits 提高性能,但复杂度会增加。
  4. 跨平台兼容性System.Drawing.Common 在 .NET Core/.NET 5+ 中不再支持非 Windows 平台。如果需要跨平台,请考虑使用 ImageSharp。

替代方案:使用 ImageSharp(跨平台推荐)

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Formats.Jpeg;var image = Image.Load("input.png");
image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2)); // 缩放
image.SaveAsJpeg("output.jpg", new JpegEncoder { Quality = 70 }); // 压缩质量

C# 图像压缩质量可自己控制的JPEG的几种方式 

C# 图像压缩质量可自己控制的JPEG的几种方式_c# 图片压缩-CSDN博客文章浏览阅读2.7k次,点赞2次,收藏6次。文章介绍了在C#中如何使用Bitmap类和System.Drawing命名空间处理图片文件,包括如何将Bitmap保存为JPEG格式并自定义压缩质量。同时提到.NET框架下控制JPEG压缩的限制,以及使用ImageSharp库进行更高级图像处理的方法。 https://blog.csdn.net/wangnaisheng/article/details/132321937

 

http://www.hkea.cn/news/942686/

相关文章:

  • 北京赛车彩票网站怎么做佛山本地网站建设
  • 门户网站的建设方式有哪些网络推广引流
  • 做中东服装有什么网站免费seo刷排名
  • 做网站用java还是c语言百度竞价推广培训
  • 做动画视频的网站市场监督管理局官网入口
  • 做bbs网站教程军事新闻最新消息今天
  • 在哪儿可以找到网站开发的需求搜索引擎优化介绍
  • 成都网站建设代理加盟网络运营培训班多少钱
  • 太原开发网站公司站长工具端口扫描
  • 域控制网站访问自媒体视频发布平台
  • 广西住房和城乡建设委员会网站湖南网站营销seo多少费用
  • 关键词推广名词解释百度竞价关键词怎么优化
  • 群辉服务器做网站网络优化的内容包括哪些
  • 做淘客的网站岳阳seo
  • 网吧设计方案seox
  • 谁做网站市场营销专业
  • 慈溪外贸公司网站网络营销就业前景和薪水
  • 电商网站建设实训报告长沙网站seo推广公司
  • 阿里云ecs怎么建网站吉林网站seo
  • 企业营销型网站建设的可行性西安竞价托管
  • 做网站如何适应分辨率网站分析培训班
  • 现在币圈有那些私募网站做的好百度推广账号登陆入口
  • 旅游网站图片营销公司排名
  • 做服务器的网站都有哪些搜狗关键词排名此会zjkwlgs
  • php动态网站开发 唐四薪 答案b站引流推广网站
  • 长沙3天2晚自由行攻略论述搜索引擎优化的具体措施
  • 外汇局网站做结汇申报被逆冬seo课程欺骗了
  • 网站运营配置免费网站在线观看人数在哪直播
  • 什么网站做一手房好系统优化的例子
  • wordpress 插入wordseo排名点击工具