Multithreading 如何通过ComPort发送可写的位图?

Multithreading 如何通过ComPort发送可写的位图?,multithreading,serial-port,writeablebitmap,Multithreading,Serial Port,Writeablebitmap,我们每30毫秒更新一次WriteableBitmap private void dt_Tick(object sender, EventArgs e) { wbm.Clear(); wbm.Blit(r, wbr, r); wbm.Blit(r, wbl, r); } 现在我必须通过虚拟com端口发送它。 这应该通过线程来完成 private void init_DataOut() { try

我们每30毫秒更新一次WriteableBitmap

  private void dt_Tick(object sender, EventArgs e)
    {

        wbm.Clear();
        wbm.Blit(r, wbr, r);
        wbm.Blit(r, wbl, r);

    }
现在我必须通过虚拟com端口发送它。 这应该通过线程来完成

  private void init_DataOut()
    {
        try
        {

                //the parameters are not important this is done by VirtualComPort
                serial = new SerialPort();
                serial.WriteBufferSize = 64;
                serial = new SerialPort();
                serial.PortName = SerialPortName;
                serial.BaudRate = 921600;
                serial.Parity = Parity.None;
                serial.DataBits = 8;
                serial.StopBits = StopBits.None;
                serial.ReadTimeout = 200;
                serial.WriteTimeout = 1;
                serial.Open();



                T_DataOut = new Thread(SendData);
                T_DataOut.Start();

        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }

    }
    public void SendData()
    {
        try
        {
            for (; ; ) 
            {
                for (int i = 0; i <42 ; i++)
                {
                    for (int j = 0; j < 68; j++)
                    {
                        serial.Write(wb.GetPixel(i,j).ToString());
                    }

                }

            }
        }
        catch (Exception e)
        {

            MessageBox.Show(e.Message);
        }
    }
我现在的问题是如何更新sendData中的writeablebitmapwb。
这是使用ParameterizedThread完成的吗?

通过串行端口发送位图是。。。奇怪的考虑到虚拟线路另一端的任何东西都需要了解WriteableBitmap的外观,并且只有PC才符合要求,你当然会使用套接字或命名管道。这根本不是一个聪明的问题。我把它转换成bytearray并发送出去。bitmapbuffer=wbm.ToByteArray;pw.data.setTransferBytes=bitmapbuffer;serial.WritetransferBytes,0,transferBytes.Length;