xevuel Temat założony przez niniejszego użytkownika |
» 2011-08-20 12:28:41 też tak pomyślałem, ale wolałem się upewnić...
//EDIT: Niestety, dalej jest źle... |
|
pekfos |
» 2011-08-20 12:32:31 Wiem :P spróbuj dać na koniec każdego rzędu 0. |
|
xevuel Temat założony przez niniejszego użytkownika |
» 2011-08-20 12:37:21 sorry, ale na koniec każdego rzędu tzn. gdzie? |
|
pekfos |
» 2011-08-20 12:39:26 |
|
xevuel Temat założony przez niniejszego użytkownika |
» 2011-08-20 12:43:10 zmieniłem, i dalej nic. |
|
pekfos |
» 2011-08-20 12:44:12 daj aktualny kod. |
|
xevuel Temat założony przez niniejszego użytkownika |
» 2011-08-20 12:45:13 void screen( HWND okno, char * plik ) { HDC _dc = GetWindowDC( okno ); RECT re; GetWindowRect( okno, & re ); int w = re.right, h = re.bottom; HDC dc = CreateCompatibleDC( 0 ); HBITMAP bm = CreateCompatibleBitmap( _dc, w, h ); SelectObject( dc, bm ); StretchBlt( dc, 0, 0, w, h, _dc, 0, 0, w, h, SRCCOPY ); void * f = CreateFile( plik, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, 0 ); void * buf = new char[ w * h * 3 ]; GetObject( bm, 84, buf ); HDC ddd = GetDC( 0 ); HDC dc2 = CreateCompatibleDC( ddd ); tagBITMAPINFO bi; bi.bmiHeader.biSize = sizeof( bi.bmiHeader ); bi.bmiHeader.biWidth = w; bi.bmiHeader.biHeight = h; bi.bmiHeader.biPlanes = 1; bi.bmiHeader.biBitCount = 24; bi.bmiHeader.biCompression = 0; bi.bmiHeader.biSizeImage = 0; CreateDIBSection( dc, & bi, DIB_RGB_COLORS, & buf, 0, 0 ); GetDIBits( dc, bm, 0, h, buf, & bi, DIB_RGB_COLORS ); BITMAPFILEHEADER bif; bif.bfType = MAKEWORD( 'B', 'M' ); bif.bfSize = w * h * 3 + 54; bif.bfOffBits = 54; BITMAPINFOHEADER bii; bii.biSize = 40; bii.biWidth = w; bii.biHeight = h; bii.biPlanes = 1; bii.biBitCount = 24; bii.biCompression = 0; bii.biSizeImage = w * h * 3; DWORD r; WriteFile( f, & bif, sizeof( bif ), & r, NULL ); WriteFile( f, & bii, sizeof( bii ), & r, NULL ); WriteFile( f, buf, w * h * 3, & r, NULL ); CloseHandle( f ); }
|
|
pekfos |
» 2011-08-20 12:49:17 bi.bmiHeader.biSizeImage = 0; imo źle. |
|
1 « 2 » 3 4 5 |