Endlich geschafft nachdem wir an der techniker uns wieder mit einem projekt beschäftigen MySql und C++ habe ich mich nochmals an eine Funktion gewagt die in meinem ersten Projekt nie funktioniert hat. Und endlich läuft es, ich kann BMP Datein einlesen und in der Konsole anzeigen lasse.
Gruß
Thorsten
Gruß
Thorsten
Code:
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
void loadbmp(HDC fenster, int sizex, int sizey, int posx, int posy, char* datei);
void warten();
void cls();
int main()
{
HWND hWnd=FindWindow("ConsoleWindowClass", NULL);
HDC hDC=GetDC(hWnd);
loadbmp(hDC,100,100,20,20,"test1.bmp");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
warten();
cls();
loadbmp(hDC,100,100,20,20,"test2.bmp");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
warten();
cls();
loadbmp(hDC,200,200,20,20,"test3.bmp");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
warten();
cls();
loadbmp(hDC,200,200,20,20,"test4.bmp");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
warten();
cls();
loadbmp(hDC,200,200,20,20,"test5.bmp");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
warten();
cls();
loadbmp(hDC,240,240,20,20,"test6.bmp");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
warten();
cls();
return 0;
}
void loadbmp(HDC fenster, int sizex, int sizey, int posx, int posy, char* datei)
{
unsigned char readpixel;
int x=sizex,y=0;
int pixsize=sizex*sizey*3+54;
int *pixel;
pixel = new int[pixsize];
ifstream in(datei, ios::in|ios::binary);
for (int i=0;i<=pixsize;++i)
{
readpixel=in.get();
pixel[i]=readpixel;
}
in.close();
for (int p=pixsize;pixsize!=54;pixsize=pixsize-3)
{
SetPixel(fenster,x+posx,y+posy,RGB(pixel[pixsize-1],pixel[pixsize-2],pixel[pixsize-3]));
x=x-1;
if(x<=0)
{
y=y+1;
x=sizex;
}
}
}
void warten()
{
cout << "\n\nPress \"ENTER\" to continue";
fflush(stdin);
getchar();
}
void cls()
{
system("CLS");
}