ΠΠ΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΎΡ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΡΡ Π΄Π»Ρ 16-Π±ΠΈΡΠ½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ². ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, surf ΠΈ image. ΠΠ±Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π½Π° 24-Π±ΠΈΡΠ½ΡΠΉ ΡΠΈΠΏ RGBTRIPLE, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ 24-Π±ΠΈΡΠ½ΡΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ²Π΅ΡΠΎΠ²Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ loREDbit, loGREENbit ΠΈ loBLUEbit. ΠΠ°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΈ Π·Π°Π½ΠΎΡΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ surf ΠΈ image ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΠΈΠΊΡΠ΅Π»Ρ.
32-Π±ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Copy_Bmp24_Surface32(), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ 32-Π±ΠΈΡΠ½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΎΡΠ΅Π½Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Copy_Bmp24_Surface24(). ΠΡΠ»ΠΈ Π±Ρ Π² 32-Π±ΠΈΡΠ½ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π²ΡΠ΅ 32 Π±ΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ , Π½Π°ΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ², Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ 24 Π±ΠΈΡΠ°, Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ Copy_Bmp24_Surface32() ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 5.4.
ΠΠΈΡΡΠΈΠ½Π³ 5.4. Π€ΡΠ½ΠΊΡΠΈΡ Copy_Bmp24_Surface32()
BOOL DirectDrawWin::Copy_Bmp24_Surface32(LPDIRECTDRAWSURFACE surf, BYTE* bmpbuf, int w, int h) {
if (surf==0 || bmpbuf==0) return FALSE;
DDSURFACEDESC desc;
ZeroMemory(&desc, sizeof(desc));
desc.dwSize = sizeof(desc);
HRESULT r=surf->Lock(0, &desc, DDLOCK_WAIT | DDLOCK_WRITEONLY, 0);
if (r!=DD_OK) {
TRACE("Copy_Bmp24_Surface32: Lock() failed\n");
return FALSE;
}
int bytesrequired=w*3;
int bytesgiven=(bytesrequired+3) & ~3;
BYTE* surfbits = (BYTE*)desc.lpSurface;
BYTE* imagebits = (BYTE*)(&bmpbuf[(h-1)*bytesgiven]);
for(int i=0; i<h; i++) {
DWORD* surf=(DWORD*)surfbits;
RGBTRIPLE* image=(RGBTRIPLE*)imagebits;
for (int p=0;p>w;p++) {
DWORD r=image->rgbtRed << loREDbit;
DWORD g=image->rgbtGreen << loGREENbit;
DWORD b=image->rgbtBlue << loBLUEbit;
DWORD* data=(DWORD*)surf;
*data = r|g|b;
surf++;
image++;
}
surfbits += desc.lPitch;
imagebits -= bytesgiven;
}
surf->Unlock(0);
return TRUE;
}
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, surf ΠΈ image. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° 32-Π±ΠΈΡΠ½ΡΠΉ ΡΠΈΠΏ DWORD ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° 32-Π±ΠΈΡΠ½ΡΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ. ΠΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° 24-Π±ΠΈΡΠ½ΡΠΉ ΡΠΈΠΏ RGBTRIPLE ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ . Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠ΄ Π»ΠΈ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³Π° Π΄Π»Ρ 24-Π±ΠΈΡΠ½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ, ΠΊΡΠΎΠΌΠ΅ ΡΠΈΠΏΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ surf ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΈΠΊΠ»Π°.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° BmpView
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°Π½ΠΈΠΉ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DirectDraw Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° BMP-ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° BmpView ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ BMP-ΡΠ°ΠΉΠ». ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΎΠ², ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Display, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° BmpView ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ BMP-ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΊΡΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΡΡΠ΅Π»ΠΎΠΊ, Home, End, Page Up ΠΈ Page Down. ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ Π½Π° ΡΠΈΡ. 5.7.
Π ΠΈΡ. 5.7. ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ BmpView
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° Π³Π»ΡΠ±ΠΈΠ½Π° ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π΅Π³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΠ±ΡΠ°Π½ΠΎ 8-Π±ΠΈΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ 8-Π±ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ. ΠΡΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ 24-Π±ΠΈΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΡΠ» Π±Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π±Π΅ΡΠΏΠ°Π»ΠΈΡΡΠΎΠ²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ².
ΠΠ°ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ BmpView Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
β’ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· BMP-ΡΠ°ΠΉΠ»ΠΎΠ²;
β’ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ;
β’ ΠΏΡΠΎΠΊΡΡΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ;
β’ ΡΠ°Π±ΠΎΡΠ° Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ Windows Π² DirectDraw.
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° Π²ΠΎΠΏΡΠΎΡΠ° ΠΌΡ ΡΠΆΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ, ΠΎΡΡΠ°Π»ΠΎΡΡ Π»ΠΈΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ΄. Π₯ΠΎΡΡ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²ΠΎΠΏΡΠΎΡΠ° ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΠΌΠ΅, ΠΎ Π½ΠΈΡ ΡΠΎΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ.
ΠΡΠΎΠΊΡΡΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉΠΠΎ Π²ΡΡ ΠΎΠ΄Π° DirectX 5 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DirectDraw Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, ΡΠΈΡΠΈΠ½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π²ΡΡΠ°Π»Π° ΡΠΈΡΠΈΠ½Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ. Π DirectX 5 ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ½ΡΡΠΎ, Π½ΠΎ Π»ΠΈΡΡ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ.
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΠΈΡΠΈΠ½Ρ, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ BMP-ΡΠ°ΠΉΠ» ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ, ΡΠΈΡΠΈΠ½Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ:
β’ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DirectX 5;
β’ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΡΠΎΠΊΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ;
β’ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ BmpView) ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Π°, ΡΠ°ΠΊ ΡΡΠΎ Π½Π°Ρ ΡΡΡΡΠΎΠΈΡ ΠΈ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΠΉ, Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°Π»ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±Π»ΠΈΡ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈΠ Π°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ Windows Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΏΡΠΎΡΡΠΎ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½ΠΎ ΡΡΠΎΠΈΡ Π»ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Windows β Π²ΠΎΠΏΡΠΎΡ ΡΠΏΠΎΡΠ½ΡΠΉ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
β’ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ Windows;
β’ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ²Π΅ΡΡΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ;
β’ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ DirectDraw.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ Ρ ΡΡΠ΅ΡΠΎΠΌ Windows GDI. GDI Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ DirectDraw, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° GDI Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π½Π° Β«Π½Π°ΡΡΠΎΡΡΠ΅ΠΉΒ» ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ GDI. Π Π±Π΅ΡΠΏΠ°Π»ΠΈΡΡΠΎΠ²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄ GDI Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ Π±Π΅Π· Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½ΠΎ Π² ΠΏΠ°Π»ΠΈΡΡΠΎΠ²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ DirectDraw Π² GDI Π΄Π°Π΅Ρ ΠΎ ΡΠ΅Π±Π΅ Π·Π½Π°ΡΡ β GDI ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°Π»ΠΈΡΡΠ΅ Windows, Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³Π°Ρ ΠΏΠ°Π»ΠΈΡΡΠ°. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΏΠ°Π»ΠΈΡΡΠ΅.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ BmpView ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°Π»ΠΈΡΡΡ Windows Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ, ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° BmpView.
ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» Windows ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠ½ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ ; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΈΠ³ΡΠ΅ MechWarrior 2 ΡΠΈΡΠΌΡ Activision Π΄Π»Ρ Π·Π°ΡΡΠ°Π²ΠΎΠΊ, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊΠΎΠ² ΠΈ Π²ΡΡΡΠΏΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠ°ΠΆΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Windows. ΠΠ°ΡΠ΅ΠΌ, Ρ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΌΠΈΡΡΠΈΠΈ, ΠΈΠ³ΡΠ° Π±Π΅ΡΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ Π²ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΎΠΉ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Windows. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΌΠΈΡΡΠΈΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΡΠ½ΠΎΠ²Π° Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. Π ΡΡΠΎΠΉ ΠΈΠ³ΡΠ΅ Π΄Π°Π½Π½Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ.
ΠΠ΅ΡΡΠΈΡ MechWarrior 2, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² 3Dfx. ΠΠ»Ρ Π²ΠΈΠ΄Π΅ΠΎΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ Π½Π° ΡΠ°ΠΊΠΈΡ ΡΠΈΠΏΠ°Ρ , Π²ΡΠ²ΠΎΠ΄ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ Π² DirectDraw Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ 3Dfx ΡΠ²Π»ΡΡΡΡΡ Π²ΡΠΎΡΠΈΡΠ½ΡΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΈ GDI Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎΠ± ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Activision Π½Π΅ ΠΌΠΎΠ³Π»Π° Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° Π² DirectDraw.
Π’ΡΠ΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ DirectDraw) ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠΉ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π²Π½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»Π°ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΡΡΠ°ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ, ΠΈ ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π±Π΅ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠΎΠ² ΠΈ ΡΠΏΠΈΡΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π±Π΅Π· ΡΠΎΠ³ΠΎ Ρ Π²Π°ΡΠ°Π΅Ρ Ρ Π»ΠΎΠΏΠΎΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎΠ»Ρ ΠΆΠ΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈ ΡΠ°ΠΌΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ BmpView ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠ΅ΡΠ΅Π΄ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π½Π° ΡΠΈΡ. 5.7 ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ GDI ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°Π»ΠΈΡΡΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ BmpView, ΠΊΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠ»Π°ΡΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° DirectDrawWin. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ ΠΈΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΡΠΈΠΊΡΠ° Win. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ»Π°ΡΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ BmpView Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ BmpViewWin, ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠ»ΡΠΆΠ΅. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° BmpViewWin ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 5.5.