如何从MagickImage中直接获取字节数组?
从MagickImage对象获取字节数组的方法
当然有直接的方法实现这个需求。MagickImage类(来自ImageMagick.NET库)提供了ToByteArray()系列方法,能直接将图像数据写入字节数组,作用和写入文件完全一致,只是输出目标换成了内存中的字节数组。
基础用法示例
using (MagickImage image = new MagickImage("input.jpg")) { // 按图像原有格式导出字节数组 byte[] imageBytes = image.ToByteArray(); // 也可以指定导出格式,比如强制转换为PNG格式 byte[] pngBytes = image.ToByteArray(MagickFormat.Png); }
带参数的进阶用法
如果需要控制图像的编码参数(比如JPEG质量、PNG压缩级别),可以先设置图像的相关属性,再调用ToByteArray():
using (MagickImage image = new MagickImage("input.jpg")) { // 设置JPEG输出质量为80(范围0-100) image.Quality = 80; byte[] optimizedJpgBytes = image.ToByteArray(MagickFormat.Jpeg); }
内容的提问来源于stack exchange,提问作者Jonathan Wood
相关产品推荐
相关产品推荐

