2

当我对 Windows 7 当前屏幕进行屏幕截图时,生成的图像在 300kb 到 3.5MB 之间。是什么导致相同屏幕尺寸和相同质量的尺寸变化如此之大?又该如何避免呢?

这是我使用的简单代码:

int screenWidth = Screen.GetBounds(new System.Drawing.Point(0, 0)).Width;
           int screenHeight = Screen.GetBounds(new System.Drawing.Point(0, 0)).Height;

System.Drawing.Bitmap bmpScreenShot = new System.Drawing.Bitmap(screenWidth, screenHeight);               
System.Drawing.Graphics gfx = System.Drawing.Graphics.FromImage((System.Drawing.Image)bmpScreenShot);

gfx.CopyFromScreen(0, 0, 0, 0, new System.Drawing.Size(screenWidth, screenHeight));

bmpScreenShot.Save(@"C:\\Snap.png", System.Drawing.Imaging.ImageFormat.Png);
4

1 回答 1

2

如果没有关于两个屏幕截图之间差异的更多信息,我会假设这是由于 PNG 文件的压缩策略:

http://en.wikipedia.org/wiki/Portable_Network_Graphics#File_size_and_optimization_software

也许您捕获的某些屏幕中的信息要少得多,并且可以更有效地压缩。

于 2013-06-18T19:43:50.377 回答