【发布时间】:2010-09-30 01:56:33
【问题描述】:
我想以给定的文件大小(例如 100KB)将现有图像保存为 PNG 或 JPG。
【问题讨论】:
-
所以给定一个 PNG 或 JPG,您想调整/调整图像以适应某个大小,例如 100KB?
-
购买 Photoshop,文件 -> 另存为。
我想以给定的文件大小(例如 100KB)将现有图像保存为 PNG 或 JPG。
【问题讨论】:
PNG 使用无损压缩,因此您无法将其压缩到一定水平以下。
在 .NET 中,您可以保存压缩后的 JPG,然后猜测完成后文件的大小。
http://msdn.microsoft.com/en-us/library/system.drawing.image.save(VS.80).aspx - 请参阅“使用压缩值保存 JPEG 图像”部分。
此外,您可以调整图像尺寸以使其更小。
【讨论】:
只有在使用 JPG 2000 时,您才能将文件大小设置为特定值。使用 JPG,您将不得不尝试不同的质量值,而使用 PNG 将为给定的图像和压缩级别提供一个尺寸 - 您只能尝试调整图像的大小,从而获得更小的尺寸。
您也可以尝试调整图像的大小,使未压缩的图像具有您想要的大小,但 PNG 尤其是 JPG 的文件大小通常会小得多。
【讨论】:
对于 PNG,没有真正的质量设置,因此您无法真正控制文件大小。
JPG 有一个质量设置,用于确定图像的质量。较低的质量设置会导致较小的文件。但是,通常没有“提供大小为 x 的文件所需的质量”的选项。
您可以使用一种效率相当低的方法在内存中转换为 jpg,查看输出的大小,上下调整质量并重复直到足够接近为止,从而获得相同的结果。这听起来可能很糟糕,但是如果您的图像不是太大,您可能会发现在您执行此操作时没有人注意到短暂的延迟。
【讨论】: