CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Feb 2013
    Posts
    1

    Bitmap Display from Buffer received by TCP socket

    I want to display my image on window without saving it.
    When data is received window size changes but there is no display
    on window.
    My Code is:

    Code:
    int iBufferLength;
    	int iEnd;
    	int iSpaceRemaining;
    	
    	int i;
     
    	iBufferLength = iSpaceRemaining = sizeof(chIncomingDataBuffer);
    	iEnd = 0;
    	iSpaceRemaining -= iEnd;
     
    	iBytesRead = recv(Socket, chIncomingDataBuffer+iEnd, iSpaceRemaining, 0);
    	
    	iEnd+=iBytesRead;
    	if (iBytesRead == SOCKET_ERROR)
    		MessageBox(hWnd,
    						"Socket Error",
    						"Connection strt",
    						MB_ICONINFORMATION|MB_OK);
    		chIncomingDataBuffer[iEnd] = '\0';
     
    	if (lstrlen(chIncomingDataBuffer) != 0)
    	{
    		/*FILE* pfile;
    					
    					pfile = 	fopen("test.jpeg", "wb");
    				fwrite(chIncomingDataBuffer,1, iBytesRead ,pfile);
    				fclose(pfile);*/
     
    				GetWindowRect(hWnd, &rect);
    				SetWindowPos(hWnd, NULL, rect.left, rect.top, cBitmap.bmWidth, cBitmap.bmHeight, 0);
    				  HDC ThisDC = GetDC(hWnd);
     
                  DeleteDC(RemoteDC);
                  RemoteDC = CreateCompatibleDC(ThisDC);
    			  DeleteObject(hbitmap);
    			  hbitmap= CreateCompatibleBitmap(ThisDC, cBitmap.bmWidth, cBitmap.bmHeight);
     
    			  SelectObject(RemoteDC, hbitmap);
     
    			  ReleaseDC(hWnd, ThisDC);
     
    
     
    			  BITMAPINFO bi;
    			  HBITMAP hbmap;
    			  int bisize = sizeof(BITMAPINFO);
    			  memcpy(&bi, chIncomingDataBuffer+iEnd, bisize );
    			  SetDIBits(RemoteDC, hbitmap, 0,  cBitmap.bmHeight, chIncomingDataBuffer+iEnd+bisize,  &bi, DIB_RGB_COLORS);
     
    
    			  InvalidateRect(hWnd, NULL, false);

    Can you find my error,,,where I'm doing wrong?

  2. #2
    Join Date
    Nov 2000
    Location
    Voronezh, Russia
    Posts
    6,620

    Re: Bitmap Display from Buffer received by TCP socket

    Too much low level. Consider the following sequence:
    Best regards,
    Igor

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured