スクリーンショットを撮って、最後のスクリーンショットと異なる場合にのみ保存することは可能でしょうか。
現在、私はこの機能を使用しています。
private static MemoryStream PrintWindow(string prcname)
{
IntPtr hwnd;
using (var proc = Process.GetProcessesByName(prcname)[0])
{
hwnd = proc.MainWindowHandle;
}
Rect rc;
NativeMethods.GetWindowRect(hwnd, out rc);
using (Bitmap bmp = new Bitmap(rc.Width, rc.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb))
{
using (Graphics gfxBmp = Graphics.FromImage(bmp))
{
IntPtr hdcBitmap = gfxBmp.GetHdc();
try
{
NativeMethods.PrintWindow(hwnd, hdcBitmap, 0);
}
finally
{
gfxBmp.ReleaseHdc(hdcBitmap);
}
}
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
return ms;
}
}
そして、ネット経由で画像を送信し、反対側に表示します。
さて、新しい画像が撮られたときに送信することは可能でしょうか。またはまあ、新しいものではありませんが、別のイメージです。10枚の画像が必要で、それらはすべてまったく同じように見えます.10枚の画像すべてを使用して送信する必要はありません.新しいイメージが生まれました。
私がここで説明しようとしていることを理解していただければ幸いです。