2013-06-18 62 views
2

當我對Windows 7當前屏幕進行屏幕截圖時,生成的圖像在300kb到3.5MB之間。造成相同屏幕尺寸和相同質量的尺寸變化的結果是什麼?這怎麼能夠避免?爲什麼有些圖像比其他圖像大10倍?

這是我簡單的代碼,我使用:

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); 

回答

2

沒有關於這兩個截屏之間的區別的詳細信息我會假設它的PNG文件的壓縮策略是由於:

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

也許你拍攝的一些屏幕的信息少得多,可以更有效地壓縮。

+0

這是現貨。如果你屏幕上的圖像覆蓋的區域顏色一致,那麼與照片相比,它可以被壓縮得非常緊密。 – Logarr

+0

他們是桌面非常相似的圖像,每個窗口都有一個窗口。看起來圖像的尺寸越大,每次會話中拍攝的圖像越多。我會嘗試使用不支持透明度的差異格式。 – xterminal0

相關問題