0

Hi,
I'm trying to send a bitmap using WCF and here's the steps i followed:
1-Convert it into byte array

private IDataObject tempObj;
private System.Drawing.Image tempImg;
tempObj = Clipboard.GetDataObject();
tempImg = (System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap);
tempImg.Save("hello.bmp");
VideoData = System.IO.File.ReadAllBytes("hello.bmp");

2-Receiving the byte array from the other client side and convert it into bitmap to display it

public void ReceiveByteArray(byte[] Data)
        {
            try
            {
                TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
                Bitmap bitmap1 = (Bitmap)tc.ConvertFrom(Data);

                pictureBox2.Image = bitmap1;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

i don't know why pictureBox.Image is always black...it doesn't display the image,although the "hello.bmp" file on the hard disk changes while catching the picture.

N.B the byte array "Data" isn't set to null it contains the values i sent from the other client side.

2
Contributors
4
Replies
5
Views
8 Years
Discussion Span
Last Post by Fouly
0

Yes it comes in order and everything is okay...it was a matter of format.

private void WebCamCapture_ImageCaptured(object source, WebcamEventArgs e)
        {
            // set the picturebox picture
            MemoryStream ms = new MemoryStream();
            e.WebCamImage.Save(ms, ImageFormat.Jpeg);

            proxy.SendShot(new SimpleSvc.VideoChat(ms.ToArray(),lstContacts.SelectedItem.ToString()));

            this.pictureBox1.Image = e.WebCamImage;
        }

Thanks for help

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.