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

2 つのスクリーンショットの違いに関する詳細情報がなければ、PNG ファイルの圧縮戦略によるものだと思います。

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

キャプチャした一部の画面は、情報がはるかに少なく、より効率的に圧縮できる場合があります。

于 2013-06-18T19:43:50.377 に答える