JPEG解压缩在Windows体系结构中不一致

Jon*_*ono 13 .net c# jpeg image-processing

我正在使用不同版本的Windows的一堆计算机上测试JPEG解压缩.所有这些计算机都安装了.NET 4,我正在编译.NET 2和"任何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);
Run Code Online (Sandbox Code Playgroud)

所有Win7 64位和WinXP 32位机器都产生一个结果.所有Win7 32位机器都产生了另一个结果.

任何想法为什么输出会有所不同?

Fen*_*uan 1

它是由gdiplus.dll 实现的。检查不同系统上实际加载的版本以及位数。

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