Ejemplo n.º 1
0
        private void FormSenderMain_Shown(object sender, EventArgs e)
        {
            const int LOGPIXELSX = 88;
            const int LOGPIXELSY = 90;
            var       dc         = GetWindowDC(IntPtr.Zero);
            var       dpiX       = GetDeviceCaps(dc, LOGPIXELSX);
            var       dpiY       = GetDeviceCaps(dc, LOGPIXELSY);

            ReleaseDC(IntPtr.Zero, dc);

            _sw = new System.Diagnostics.Stopwatch();
            //_udp = new UDPSender();
            _tcp = new TCPSender();

            foreach (ImageCodecInfo ici in ImageCodecInfo.GetImageEncoders())
            {
                if (ici.FormatID == ImageFormat.Jpeg.Guid)
                {
                    _jpgEncoder = ici;
                    break;
                }
            }

            formCaptureBox.Location = new Point(Location.X + 10, Location.Y + Height);
            FrameVisible(true);

            formCaptureBox.Width  = 320 * dpiX / 96;
            formCaptureBox.Height = 240 * dpiY / 96;
            timer1.Enabled        = true;
        }
Ejemplo n.º 2
0
 private void tcpJPGPrepare(Bitmap bmp, TCPSender tcp)
 {
     using (MemoryStream ms = new MemoryStream())
     {
         byte[] rgbValues = { 0 };
         ms.WriteByte(0x4A); // prefix "JPG" 3Byte
         ms.WriteByte(0x50);
         ms.WriteByte(0x47);
         ms.WriteByte(0);    // data len 4Byte
         ms.WriteByte(0);
         ms.WriteByte(0);
         ms.WriteByte(0);
         bmp.Save(ms, _jpgEncoder, _encParams);
         ms.Capacity = (int)ms.Length;
         rgbValues   = ms.GetBuffer();
         {
             UInt32 len = (UInt32)(ms.Length - 7);
             rgbValues[3] = (byte)(len & 0xFF);
             rgbValues[4] = (byte)((len >> 8) & 0xFF);
             rgbValues[5] = (byte)((len >> 16) & 0xFF);
             rgbValues[6] = (byte)((len >> 24) & 0xFF);
             tcp.setData(rgbValues);
         }
     }
 }