【问题标题】:Get File Size of Modified Image Before Writing to Disk在写入磁盘之前获取修改后图像的文件大小
【发布时间】:2010-06-17 16:54:38
【问题描述】:

我正在 System.Drawing 中进行从 .jpg.png 的转换,我发现的一件事是这种转换往往会导致结果转换后的 .png.jpg 原始文件大得多。转换为 .png 后有时会大 10 倍以上。

鉴于似乎总是如此(除非您知道解决此问题的方法),有没有办法在将 .png 保存到磁盘之前确定该文件的大小?例如,也许先将其写入流,然后获取该流大小?我该怎么做呢?

【问题讨论】:

    标签: c# image gdi+ system.drawing


    【解决方案1】:

    您可以写入 MemoryStream 并计算其大小,然后将其写入 FileSystem。

    虽然:可能有更好的方法。

    【讨论】:

    • 如何计算 MemoryStream 的大小?
    • 如果您将 JPG 转换为 MemoryStream,“Position”属性应该会告诉您您在 Steam 中的位置(以及大小)。
    • 长度属性不提供大小(近似值)吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2016-06-25
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    相关资源
    最近更新 更多