当我拍摄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);
答案 0 :(得分:2)
如果没有关于两个屏幕截图之间差异的更多信息,我认为这是由于PNG文件的压缩策略:
http://en.wikipedia.org/wiki/Portable_Network_Graphics#File_size_and_optimization_software
也许您拍摄的某些屏幕中包含的信息少得多,并且可以更有效地进行压缩。