002
11.09.2004, 18:42 Uhr
~Canon
Gast
|
Mrmmh... schade. aber... apropo *.bmp, da hab ich noch ne Frage:
Ich habe folgenden Quellcode:C/C++ Code: #include <windows.h> #include <conio.h>
int lo=10,oo=10; unsigned char chr; int LoadBmp2Console(char *szBitmap, int PosX, int PosY, int breadth, int length) { HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,szBitmap, IMAGE_BITMAP,0,0,LR_LOADFROMFILE); if (!hBitmap) return 1; BITMAP bmp; GetObject(hBitmap,sizeof(bmp),&bmp); HWND hwnd = FindWindow("ConsoleWindowClass",NULL); if (!hwnd) return 2; HDC hDC = GetDC(hwnd); if (!hDC) return 3; HDC hBitmapDC = CreateCompatibleDC(hDC); if (!hBitmapDC) return 4; SelectObject(hBitmapDC,hBitmap); StretchBlt(hDC,PosX,PosY,breadth*bmp.bmHeight,length*bmp.bmWidth,hBitmapDC,0,0,bmp.bmHeight,bmp.bmWidth,SRCCOPY);
DeleteObject(hBitmap); ReleaseDC(hwnd,hBitmapDC); ReleaseDC(hwnd,hDC);
return 0; } void setposition (int l,int o) { int Status = LoadBmp2Console("Bild.bmp",lo+l,oo+o,1,1); lo+=l; oo+=o; } void main () {
do { chr=getch(); { chr=getch(); switch(chr) { //links case 75:{ setposition(-3,0); break;} //rechts case 77:{ setposition(+3,0); break;} //unten case 72:{ setposition(0,-3); break;} //oben case 80/*119*/:{ setposition(0,+3); break;} } } }while(true); } geschriebn. Dabei ist mir aufgefallen, dass, wenn man z.B. die Pfeiltaste "Pfeil nach oben" mit "W" vertascht, sich das Bild nur noch seltsam stockend bewegt. Frage 1: Woran liegt das, und kann man das irgentwie ändern??? Frage 2: Kann man diese dämlichen Schliern, die das Bild hintersichherzieht ähh,... >abschaffen< oder so???
Danke!!! |