首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#内存中使用JPEG或PNG压缩图像?

在C#内存中使用JPEG或PNG压缩图像,可以通过使用System.Drawing命名空间中的相关类和方法来实现。

对于JPEG压缩,可以使用System.Drawing.Imaging命名空间中的EncoderParameters和Encoder类。下面是一个示例代码:

代码语言:csharp
复制
using System.Drawing;
using System.Drawing.Imaging;

public byte[] CompressImageToJpeg(Image image, long quality)
{
    EncoderParameters encoderParams = new EncoderParameters(1);
    encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);

    ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
    using (MemoryStream ms = new MemoryStream())
    {
        image.Save(ms, jpegCodec, encoderParams);
        return ms.ToArray();
    }
}

private ImageCodecInfo GetEncoderInfo(string mimeType)
{
    ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
    foreach (ImageCodecInfo codec in codecs)
    {
        if (codec.MimeType == mimeType)
        {
            return codec;
        }
    }
    return null;
}

上述代码中,CompressImageToJpeg方法接受一个Image对象和一个quality参数,将图像以JPEG格式进行压缩,并返回压缩后的字节数组。quality参数表示压缩质量,取值范围为0-100。

对于PNG压缩,可以使用System.Drawing命名空间中的Image.Save方法,并指定ImageFormat.Png作为保存格式。下面是一个示例代码:

代码语言:csharp
复制
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

public byte[] CompressImageToPng(Image image)
{
    using (MemoryStream ms = new MemoryStream())
    {
        image.Save(ms, ImageFormat.Png);
        return ms.ToArray();
    }
}

上述代码中,CompressImageToPng方法接受一个Image对象,将图像以PNG格式进行压缩,并返回压缩后的字节数组。

这些方法可以在C#中使用JPEG或PNG压缩图像,并将其保存在内存中的字节数组中。根据实际需求,可以选择适合的压缩质量和格式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解密极致图像压缩

以及在不断出现的新格式被逐步应用之后,兼容性最好的传统老格式JPEG依然地位高居不下占据大幅带宽,如何在老格式上也继续挖掘优化点,是本文重点介绍的内容。...image.png Webp和HEVC的面世 JPEGPNG、GIF在互联网畅行了多年后,2010年Google提出了一种新的图片压缩格式 — webp,给图片压缩优化提供了一个新方向。...,因此黄色区域附近的蓝色可以使用低精度编码 人眼的蓝色空间分辨率低于在红色和绿色,并在高分辨率旁边没有蓝色的受体因此蓝色的高频变化可以使用低精度编码 视觉图像的精细结构依赖于附近视觉变化的量级,因此可以在有大量视觉噪音的地方使用低精度编码...这样优化后能够减少内存和显存的碎片、由于内存连续也提高了访问性能。 在计算处理过程中有许多冗余函数来生成固定的参数序列,将这些函数合并预处理展开后减少计算流程上的函数调用冗余。...image.png 3.  业务落地 经过上述改造后,已经有望上线服务业务了。我们对当前图片平台架构做了部分调整:采用异步压缩,持久化存储,控制CDN缓存时间的方式来贴合业务使用

3.7K100

这个开发者易忽略的优化点,腾讯视频竟靠它省上千万元

包括了重复数据的图像(蓝天) 就可以被压缩,只有蓝天的起始点和终结点需要被记录下来。但是蓝色可能还会有不同的深浅,天空有时也可能被树木、山峰其他的对象掩盖,这些就需要另外记录。...但是,无损压缩的方法并不能减少图像内存占用量,这是因为,当从磁盘上读取图像时,软件又会把丢失的像素用适当的颜色信息填充进来。如果要减少图像占用内存的容量,就必须使用有损压缩方法。...所选择的颜色定义在压缩图像头的调色板图像的每个像素都用调色板颜色索引表示。这种方法可以与抖动一起使用以模糊颜色边界。...2.2 图片格式 格式 介绍 JPEG JPEG 是用于连续色调静态图像压缩的一种标准,文件后缀名为 .jpg .jpeg,是最常用的图像文件格式。...JPEG 编码 quality 越小,图片体积就越小,质量越也差,编码时间也越短。 PNG PNG 是一种采用无损压缩算法的位图格式。

64020

这个开发者易忽略的优化点,腾讯视频竟靠它省上千万元

包括了重复数据的图像(蓝天) 就可以被压缩,只有蓝天的起始点和终结点需要被记录下来。但是蓝色可能还会有不同的深浅,天空有时也可能被树木、山峰其他的对象掩盖,这些就需要另外记录。...但是,无损压缩的方法并不能减少图像内存占用量,这是因为,当从磁盘上读取图像时,软件又会把丢失的像素用适当的颜色信息填充进来。如果要减少图像占用内存的容量,就必须使用有损压缩方法。...所选择的颜色定义在压缩图像头的调色板图像的每个像素都用调色板颜色索引表示。这种方法可以与抖动一起使用以模糊颜色边界。...2.2 图片格式 格式 介绍 JPEG JPEG 是用于连续色调静态图像压缩的一种标准,文件后缀名为 .jpg .jpeg,是最常用的图像文件格式。...JPEG 编码 quality 越小,图片体积就越小,质量越也差,编码时间也越短。 PNG PNG 是一种采用无损压缩算法的位图格式。

72240

解密极致图像压缩

也诞生了许多种类的图像格式JPEGPNG 、GIF、WEBP、HEVC,以及腾讯公司自研的WXAM和SHARPP格式。...以及在不断出现的新格式被逐步应用之后,兼容性最好的传统老格式JPEG依然地位高居不下占据大幅带宽,如何在老格式上也继续挖掘优化点,是本文重点介绍的内容。...Webp和HEVC的面世 JPEGPNG、GIF在互联网畅行了多年后,2010年Google提出了一种新的图片压缩格式 — webp,给图片压缩优化提供了一个新方向。...,并在高分辨率旁边没有蓝色的受体因此蓝色的高频变化可以使用低精度编码 视觉图像的精细结构依赖于附近视觉变化的量级,因此可以在有大量视觉噪音的地方使用低精度编码 下图展示了人眼对黄色区域附近的蓝色不敏感...这样优化后能够减少内存和显存的碎片、由于内存连续也提高了访问性能。 在计算处理过程中有许多冗余函数来生成固定的参数序列,将这些函数合并预处理展开后减少计算流程上的函数调用冗余。

1.8K80

.NET3.5 GDI+ 图形操作1

GIF文件每像素最多能存储8位,所以它们只限于使用256种颜色 ◇联合摄影专家组(JPEGJPEG是一种适应于自然景观(扫描的照片)的压缩方案。...一些信息会在压缩过程丢失,但这些丢失人眼是察觉不到的。JPEG文件每像素存储24位,因此它们8能够显示超过1600万种颜色。JPEG文件不支持透明动画。...JPEG图像压缩级别是可以控制的,但较高的压缩级别(较小的文件)会导致丢失更多的信息。对于一幅以20:1压缩比生成的图像,人眼难以把它和原始图像区别开来。...Web浏览器显示的JFIF文件使用.jpg扩展名 ◇可交换图像文件(EXIF) EXIF是一种适用于数码相机拍摄的照片的文件格式,其文件中含有根据JPEG规格压缩图像。...像GIF文件一样,PNG文件在压缩时也不损失信息。PNG文件能以每像素8,2448位来存储颜色,并以每像素1、2、4、816位来存储灰度。相比之下,GIF文件只能使用每像素1、2、48位。

1.9K20

WebP原理和Android支持现状介绍

1.背景 目前网络图片仍然是占用流量较大的一部分,对于移动端更是如此,因此,如何在保证图片视觉不失真前提下缩小体积,对于节省带宽和电池电量十分重要。...2.1 有损WebP 有损WebP基于VP8视频编码的预测编码方法来压缩图像数据,其基本步骤类似于JPEG压缩,主要包含格式转换、分割子块、预测编码、FDCT、量化、Z排列、熵编码,流程如下图所示,红色代表与...4.与其他格式比较 有损WebP vs JPEG: 谷歌使用Lenna、Kodak、Tecnick还有Image_crawl四个图像来源来做实验,在相同稍高的SSIM基础上,WebP相比JPEG体积降低...而WebP在编码时占用内存PNG高25%,解码时比PNG低30%。...JPEGPNG更大。

4.2K80

JPG 与 JPEG:这些图像文件格式有什么区别?

◆ 概述 JPG 和 JPEG 是一样的吗?还是完全不同的东西?并非所有图像文件格式都是一样的。事实上,它们的许多都是为了解决现有格式无法解决的问题而创建的。...◆ 什么是 JPG2 JPF? 2000 年,JPEG 小组发布了另一种图像文件格式,称为 JPEG 2000(其文件扩展名为 JPG2 和 JPF)。...跨不同操作系统( Photoshop 和Gimp )运行的流行图像编辑程序最终会将其默认 JPEG 文件扩展名设置为 JPG,以尽量减少混淆。...在 JPEGPNG 之间,哪种图像文件格式占主导地位?老实说,答案取决于您要保存的图像类型。 JPEG 更适合照片,因为它们利用有损压缩来保持合理的文件大小。...由 PNG 开发组在 JPEG 发布四年后开发,PNG 支持无损数据压缩和透明度。因此,如果必须保留图像质量并且文件大小不是问题,则经常使用 PNG

5.6K40

C#图像压缩相关方法总结

前言 本文所描述的所有内容和算法,均未使用任何外部库,且已经在开源压缩软件PicSizer中使用 PicSizer是我独立编写的批量图片压缩软件,主要功能是实现网页图片的压缩。...我们可以在内存模拟输出文件,然后读取内存的文件大小。...); //摧毁内存流 memoryStream.Dispose(); 现在我们可以定义一个函数,用它来计算Bitmap以指定格式输出到内存的大小 public static long LengthOfBitmapInMemory...Dispose(); } } 位深度压缩 对于非JPEG类型的图片,由于其本身并没有提供可修改的参数,所以无法通过画质来减小体积,这时我们可以通过减少色域的方式 在C#中表示像素格式的类是PixelFormat...在浏览器,我们可以通过适当地修改html标签来让图片显示为指定的尺寸,如果图片较小较大,浏览器会自动为我们缩放。

86940

WebP为何那么受欢迎?

图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。...: WebP 的优势体现在它具有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEGPNG...透明和 24-bit 颜色数,不存在 PNG8 色彩不够丰富和在浏览器可能会出现毛边的问题 经测试,JPEG 转 WebP 的效果更佳。...(虽然听说目前已转成SharpP格式…) Webp使用理由: 目前网络图片仍然是占用流量较大的一部分,对于移动端更是如此,因此,如何在保证图片视觉不失真前提下缩小体积,对于节省带宽和电池电量十分重要。...WebP的优势在于它具有更优的图像数据压缩算法,在拥有肉眼无法识别差异的图像质量前提下,带来更小的图片体积,同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEGPNG 上的转化效果都非常优秀

3.4K90

浅谈性能优化之图片压缩、加载和格式选择

业务场景 JPG 适用于呈现色彩丰富的图片,在我们日常开发,JPG 图片经常作为大的 背景图、轮播图 预览图 出现。打开某电商网站首页,即可看到大图片的处理几乎都是使用了 JPG。...PNG-8 与 PNG-24 png 是一种采用无损压缩算法的位图格式。 优势 无损压缩 完全支持 alpha 透明度。 可以重复保存且不降低图像质量。...缺点 体积太大 业务场景 理论上来说,当你追求最佳的显示效果(详情展示图、图片有放大需求、摄影作品等),并且不在意存储大小所需带宽时,可以使用 PNG-24。...亦或者需要处理有透明度线条明显的图片时,也会采用 PNG网站主 logo: SVG 严格来说应该是一种开放标准的矢量图形语言。...在 Elements 搜索 “base64” 关键字,你会发现 Base64 也有很多使用的地方。而且它对应的图片占用内存较小。

38910

WebP为何那么受欢迎?

图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。...,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEGPNG 上的转化效果都相当优秀、稳定和统一。...(同时肉眼几乎无法看出差异) 转换后的 WebP 支持 Alpha 透明和 24-bit 颜色数,不存在 PNG8 色彩不够丰富和在浏览器可能会出现毛边的问题 经测试,JPEG 转 WebP 的效果更佳...(虽然听说目前已转成SharpP格式…) Webp使用理由: 目前网络图片仍然是占用流量较大的一部分,对于移动端更是如此,因此,如何在保证图片视觉不失真前提下缩小体积,对于节省带宽和电池电量十分重要。...WebP的优势在于它具有更优的图像数据压缩算法,在拥有肉眼无法识别差异的图像质量前提下,带来更小的图片体积,同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEGPNG 上的转化效果都非常优秀

4.6K50

位图矢量图GIFPNGJPEGWEBP一网打尽

.png(apng):无损接近无损压缩,更好的质量 .webp:有损压缩,文件大小较小 兼容性 .gif:兼容性良好 .jpg(.jpeg):兼容性良好 .png(apng):在浏览器端兼容良好 ....APNG使用相同的.png扩展名,支持24位图像和8位透明度,并且可以在Firefox、Opera、Chrome打开。...JPEG非常适合于在社交媒体和网站上使用的中等质量、逼真的图像。它的一个优点是被所有浏览器支持,并且可以被所有图像编辑软件编辑。...❝JPEG具有「有损压缩」,因此每次重新保存和导出图像时,图像的质量都会降低,因为原始数据在此过程未被保留。 ❞ 我们可以自由选择压缩的百分比,从0到100%。...在进行GIF与JPEG比较时,图像质量和文件大小是考虑的两个主要因素。 ❝如前所述,GIF和JPEG之间的一个显著区别是JPEG压缩时会丢失数据,而GIF使用的是无损压缩算法。

6010

Android-图片压缩(二)-纯干货

,这里我将会带着大家做一款压缩工具,功能媲美鲁班压缩,而且还带有鲁班没有的功能,输出指定格式等,在这个过程我们要学会如何获取bitmap,第一篇已经罗列了多种从项目中取图片转bitmap,这里就不多说了...,主要用于存储 1.5 内存Bitmap的大小 从网络下载,asset,sd卡取的图片计算公式 分辨率 * 每个像素点的大小(1080*1920*4B = xxx ) (32/8=4) 从res内不同资源目录下...设置图片格式 png:无损的压缩图片格式 jpeg:有损的压缩图片格式,不能透明设置。...质量压缩 采样率压缩 缩放压缩 减少图片的像素,缩略图 JNI调用JPEG库 Android目前常用的图片格式有pngjpeg和webp, png:无损压缩图片格式,支持Alpha...双线性内插值算法在图像的缩放处理具有抗锯齿功能, 是最简单和常见的图像缩放算法,当对相邻2x2个像素点采用双线性內插值算法时,所得表面在邻域处是吻合的,但斜率不吻合,并且双线性内插值算法的平滑作用可能使得图像的细节产生退化

92920

现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用

内存占用 兼容性 GIF 支持 支持 较高 无损压缩 索引色(256) 基本一致 ALL PNG-8/PNG-24 支持 不支持 较高 无损压缩 索引色(256)\直接色 基本一致 ALL JPEG...内存占用:图片对内存资源的占用 兼容性:影响图片格式能否大规模推广的核心要素之一 WebP vs JPEG XL vs AVIF: JPEG 替代之战 因为传统的 PNG-8/PNG-24,JPEG,GIF...其特点如下: 同样的,与传统图像格式(例如JPEG、GIF和PNG)相比,有着更佳的效率与更丰富的功能 支持 Alpha 通道,支持动态图像和动画 支持有损、无损压缩。... 元素通过包含零多个 元素和一个 元素来为不同的显示/设备场景提供图像版本。...如果浏览器能够渲染 WebP 图像,它将使用图像文件。 否则浏览器将回退到使用 img 元素 src 属性图像文件。img 元素指向的是 JPEG 格式的图片,它是最终的兜底方案。

95210

JNI方法实现图片压缩压缩率极高)

前言 直接使用项目直接复制libs的so库到项目中即可(当前只构建了armeabi),需要其他ABI可检下项目另外使用CMake构建即可。 结果预览: ? 效果图.png ?...size_238KB.png 原图大小5.99M~~ 我们把所有经过压缩的图片放到同等大小的情况后,很明显,采样压缩跟尺寸压缩都不是我们想要的结果,而质量压缩跟JNI压缩我设置的质量压缩值都是30,JNI...boolean optimize_coding: 参数为TRUE时,图片压缩算法使用最优的哈夫曼编码表,它需要额外传递数据,因此会耗费CPU运算时间,以及开辟很多临时内存空间。...而通过哈夫曼树形成的哈夫曼编码是一种的有效的数据压缩编码。 如果没有一个编码是另一个编码的前缀,则称这样的编码为前缀编码。0,101和100是前缀编码。...如今的手机CPU跟内存都“起飞了”,Goolge的Skia图像处理引擎却还是使用optimize_coding的默认值FALSE。

1.4K20

TRTC案例:截图体积与清晰度

由于PNG是无损的,保存将要被编辑的图像来说更加合适。 JPEG(Joint Photographic Experts Group,联合图像专家小组)是一种针对照片影像而广泛使用的有损压缩标准方法。...像素数量即图片长宽尺寸;1080x2130 2. 图片格式,主要是格式对应的压缩算法;JPEG 3. 位深和色深、通道数量 4....图片压缩格式,pngjpeg等 除此之外,还有些影响因素:附加信息(EXIF,【附2】)、图片内容复杂度 等 下面对这几个影响因素分别做简单阐述: 1....不同的压缩格式体积差别很大,png格式通常要比jpeg大很多。...云端截图功能的本质,更多的是配合监管结合鉴黄等功能综合使用,对于有高清截图需求的场景,并不适合。

2.5K10

了解最常用的图片文件格式

位图(Bitmaps)光栅图形将图像存储为单个点(称为像素)的网格,每个点都有指定的颜色。相反,矢量图(vector)存储图像各个图形元素的几何排列。...Jpeg压缩对于摄影图像效果非常好,并且通常可以在不降低图像质量的情况下大幅减小文件大小。但是,当图像包含尖锐的边缘(由线条图文本创建的图像)时,jpeg压缩将失败。...特别是对于包含线条图文本的图像,应避免使用它,对于数据可视化屏幕截图来说,应避免这种情况。这些图像的适当格式是pngtiff。jpeg格式可以用于摄影图像。...并且,如果图像同时包含摄影元素和线条图文字,则仍应使用pngtiff。这些文件格式的最坏情况是图像文件变大,而jpeg的最坏情况是最终产品看起来很丑。...该图像将仍然是位图图像,仅存储在pdf文件。同样,将jpeg文件转换为png文件不会删除jpeg压缩算法可能引入的任何伪像。

2K20

【Android 内存优化】图片文件压缩 ( Android 原生 API 提供的图片压缩功能能 | 图片质量压缩 | 图片尺寸压缩 )

保存图片 : 保存图片到设备的 SD 卡 , 为了 节省磁盘资源 , 将图片文件进行压缩 ; ③ 内存压缩 : 与文件压缩相对应的是内存压缩 , 在 内存如何使用更少的内存显示出想要显示的图片 ; 在之后的博客中会详细介绍..., 无法复原 ; ② 尺寸压缩 : 减小图片的尺寸大小 , 明显这个也是有损的 , 无法复原 ; ③ 不同压缩格式的压缩率 : webp > jpeg > png ; 如果图片不需要透明度 ( alpha...) 通道的信息 , 推荐使用 JPEG ; webp 目前使用还不是很广泛 ; 三、 Android 原生 API 提供的质量压缩 ---- 图片质量压缩函数原型 : 下面的函数原型给出了详细注释...; ① 函数作用 : 传入压缩参数 , 将压缩的内容输出到文件网络 ; ② 参数解析 : CompressFormat format 参数 : 被压缩的目标格式, 要将该图片压缩成什么格式 JPEG..., 只支持 * * @param format 被压缩的目标格式, 要将该图片压缩成什么格式 JPEG, PNG, WEBP * @param quality 给压缩器的质量

4.3K20

Google与Binomial合作开源Basis Universal GPU纹理编解码器

此版本填补了图形压缩生态系统的一个关键技术空白,同时也补充了Draco几何压缩的部分早期工作。...Basis Universal纹理格式在GPU上的资源占用比传统JPEG格式小6-8倍,但文件存储所需空间大小却与JPEG相似,这使得它成为当前那些效率低下且无法跨平台运行的GPU压缩方法(JPEG、...首先我们使用编码器压缩图像并选择对于项目而言有意义的质量设置参数(例如在知道其共享同一个调色板的情况下,为短视频提交多个图像优化以提升其性能)。...即使在GPU上,图像也会在整个过程中保持压缩状态!GPU不需要解码和读取整个图像而只会读取需要的部分图像,从而尽可能发挥GPU的性能优势! ?...Basis Universal纹理格式提高.jpeg和.png的GPU内存使用率 通过建立这种合作伙伴关系,Google与 Binomial希望在所有主流浏览器采用此转码器,通过WebGL API和即将推出的

1.8K40

性能优化——图片压缩、加载和格式选择

JPEG / JPG JPEG 是最常用的图像文件格式。 优势 支持极高的压缩率,可使文件传输、下载、预览速度大大加快。 利用可变的压缩比可以控制文件大小。...业务场景 JPG 适用于呈现色彩丰富的图片,在我们日常开发,JPG 图片经常作为大的背景图、轮播图 预览图出现。打开某电商网站首页,即可看到大图片的处理几乎都是使用了 JPG。...PNG - 8 与 PNG - 24 png 是一种采用无损压缩算法的位图格式。 优势 无损压缩 完全支持 alpha 透明度。 可以重复保存且不降低图像质量。...亦或者需要处理有透明度线条明显的图片时,也会采用 PNG网站主 logo: SVG 严格来说应该是一种开放标准的矢量图形语言。...在 Elements 搜索 “base64” 关键字,你会发现 Base64 也有很多使用的地方。而且它对应的图片占用内存较小。

87150
领券