gpt4 book ai didi

c# - 如何将 C# 中的图像调整为特定的硬盘大小?

转载 作者:可可西里 更新时间:2023-11-01 09:04:54 25 4
gpt4 key购买 nike

如何将 C# 中的图像调整为特定的硬盘大小,如 2MiB?有没有比反复试验更好的方法(当然,即使它是近似的)。

尝试在网络上查找解决方案时要搜索的任何特定关键字?

最佳答案

您可以通过将原始图像大小除以像素数来计算图像的近似信息级别:

info = fileSize / (width * height);

我有一张 369636 字节和 1200x800 像素的图像,因此它每个像素使用 ~0.385 字节。

我有一个更小的版本,它是 101111 字节和 600x400 像素,所以它每像素使用 ~0.4213 字节。

当您缩小图像时,您会发现它通常每个像素包含的信息略多,在本例中大约多 9%。根据您的图像类型和缩小它们的程度,您应该能够计算信息/像素比增加多少的平均值 (c),以便您可以计算出大致的文件大小:

newFileSize = (fileSize / (width * height)) * (newWidth * newHeight) * c

从这里你可以提取一个公式来计算你必须制作多大的图像才能达到特定的文件大小:

newWidth * newHeight = (newFileSize / fileSize) * (width * height) / c

这将使您非常接近所需的文件大小。如果你想更接近,你可以将图像调整为计算的大小,压缩它并根据你得到的文件大小计算一个新的每像素字节数值。

关于c# - 如何将 C# 中的图像调整为特定的硬盘大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1258634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com