예제 #1
0
        void objHttp_EntsvcSendIamge(Stream streamImage)
        {
            try
            {
                MemoryStream mmsTemp  = new MemoryStream();
                int          rmvBytes = 0;

                byte[] byteTemp = fncStreamToByteArry(streamImage);

                for (int i = (byteTemp.Length - 1); i > (byteTemp.Length - 4); i--)
                {
                    if ((char)byteTemp[i] == '#')
                    {
                        rmvBytes += 1;
                    }
                }

                mmsTemp.Write(byteTemp, 0, byteTemp.Length - rmvBytes);
                mmsTemp.Position = 0;

                channelNettcpImageSharing.svcSendIamge(mmsTemp);
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "objHttp_EntsvcSendIamge", "ImageSharingDummy.xaml.cs");
            }
        }
예제 #2
0
        void btnAddImage_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                List <byte[]> lstarry = new List <byte[]>();
                byte[]        arr     = new byte[5000];

                OpenFileDialog objFileDialog = new OpenFileDialog();
                objFileDialog.Title      = "Open Image File";
                objFileDialog.Filter     = "Bitmap Files|*.bmp" + "|Enhanced Windows MetaFile|*.emf" + "|Exchangeable Image File|*.exif" + "|Gif Files|*.gif|Icons|*.ico|JPEG Files|*.jpg" + "|PNG Files|*.png|TIFF Files|*.tif|Windows MetaFile|*.wmf";
                objFileDialog.DefaultExt = "jpg";
                objFileDialog.ShowDialog();
                FilePath = objFileDialog.FileName;

                if (FilePath != "")
                {
                    ctlImage objImage = new ctlImage(FilePath, ImgTag);
                    prevTag = ImgTag;
                    ImgTag += 1;

                    objImage.EntSelectedImage += new ctlImage.DelSelectedImage(objImage_EntSelectedImage);

                    tempArry = objImage.SetImage(FilePath);
                    objImage.ShowImage(tempArry);
                    stackMain.Children.Add(objImage);
                    lstImage.Add(tempArry);

                    Stream sname = fncStringToStream(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);
                    sname.Position = 0;
                    byte[] NameByte  = fncStreamToByteArry(sname);
                    char   delimeter = '!';
                    char   del       = '#';

                    if (VMuktiAPI.VMuktiInfo.CurrentPeer.CurrPeerType == VMuktiAPI.PeerType.NodeWithNetP2P || VMuktiAPI.VMuktiInfo.CurrentPeer.CurrPeerType == VMuktiAPI.PeerType.BootStrap || VMuktiAPI.VMuktiInfo.CurrentPeer.CurrPeerType == VMuktiAPI.PeerType.SuperNode)
                    {
                        MemoryStream FinalStrem = new MemoryStream();
                        FinalStrem.Write(NameByte, 0, NameByte.Length);
                        FinalStrem.WriteByte((byte)delimeter);
                        FinalStrem.Write(tempArry, 0, tempArry.Length);
                        FinalStrem.Position = 0;

                        channelNetTcp.svcSendIamge(FinalStrem);
                    }
                    else
                    {
                        MemoryStream finalImage = new MemoryStream();
                        finalImage.Write(NameByte, 0, NameByte.Length);
                        finalImage.WriteByte((byte)delimeter);
                        finalImage.Write(tempArry, 0, tempArry.Length);
                        finalImage.WriteByte((byte)del);
                        finalImage.WriteByte((byte)del);
                        finalImage.WriteByte((byte)del);
                        finalImage.Position = 0;

                        channelHttp.svcSendIamge(finalImage);
                    }
                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "btnAddImage_Click", "ctlImageSharing.xaml.cs");
            }
        }