c# - 跨 Windows 体系结构的 JPEG 解压缩不一致

标签 c# .net image-processing jpeg

我正在一堆装有不同版本 Windows 的计算机上测试 JPEG 解压缩。所有这些计算机都安装了 .NET 4,我正在针对 .NET 2 和“Any CPU”平台目标进行编译。以下代码在不同的系统上产生不同的输出。

Bitmap bmp = (Bitmap)Image.FromFile("test.jpg");

long datasum = 0;
for (int y = 0; y < bmp.Height; y++)
    for (int x = 0; x < bmp.Width; x++)
        datasum = datasum + bmp.GetPixel(x, y).R + bmp.GetPixel(x, y).G + bmp.GetPixel(x, y).B;

Console.WriteLine(datasum);

所有 Win7 64 位和 WinXP 32 位机器都产生一个结果。而所有 Win7 32 位机器都会产生另一个结果。

知道为什么输出会有所不同吗?

最佳答案

它由 gdiplus.dll 实现。检查在不同系统上实际加载了哪些版本,以及位数。

可能存在浮点问题,一台机器允许 MMX 指令,另一台机器不允许。

关于c# - 跨 Windows 体系结构的 JPEG 解压缩不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872850/

相关文章:

c# - 为什么以下测试使用 Mbunit 和 Rhino 模拟失败?

c# - Visual Studio,在监 window 口中查看变量的内存地址

c# - 在 C# 中使用正则表达式分组的子字符串

xampp 上的 php exec 函数可以在 Windows 上工作,但不能在 Linux 上工作

python - 图像的梯度方向不一致(X vs Y)

c# - 如何在 C# 代码中设置默认样式(而不是在 App.xaml 中)?

c# - 在 ASP.net 核心身份(UserManager 和 SignInManager)中,是否可以立即禁止用户?

.net - 用于未处理异常的全局错误捕获器正在拾取所有异常

c# - 如何解决 WMI 请求的 "Provider load failure"?

python - RANSAC算法查找图像的线参数并绘制线