0
私はTeamViewerに似たプログラムを書いています。しかし、画面の解像度が高すぎるという問題があります。入力画像の品質を下げるにはどうしたらいいですか? graphics.CopyFromScreenからビットマップを作成するc#リモートデスクトップ接続の解像度
byte[] ScreenShut()
{
Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);
Graphics gr = Graphics.FromImage(bmp);
bmp.SetResolution(96.0F,96.0F);
gr.CopyFromScreen(0, 0, 0, 0, new Size(bmp.Width, bmp.Height));
MemoryStream ms = new MemoryStream();
bmp.Save(ms, ImageFormat.Png);
return ms.GetBuffer();
}
'新しいビットマップ(Screen.PrimaryScreen.Bounds.Width/2、Screen.PrimaryScreen.Bounds.Height/2)'を試しましたか?画面解像度の半分のビットマップを作成するだけです。これが機能すると、サイズを減らす割合を決めることができます。これを自動スケーリングといいます。 –
私はそうすると、画面の特定の部分を取る。 –
Ok;元のコードで続けて、後者のビットマップのサイズを変更します。これを参照してください:http://stackoverflow.com/q/10442269/5779732 –