Bitmaps in C++
-
Hallo,
ich kenne mich mit C++ recht schlecht aus (deswegen bitte nicht so kompliziert antworten wenn es geht). ich möchte aus meinem C++ Programm ein Bitmap erzeugen. vorher ein anderes einlesen, das ändern, dann neu speichern. ich habe die Breite etc. aus dem Bitmapinfoheader bereits herausbekommen, jedoch weiß ich nicht wie ich die pixel in der farbe ändern kann und dann das bild neu speichern kann. ich bin gerade dabei das über:
CreateBitmap(int bih.biWidth,int bih.biHeight, UINT bih.biPlanes, UINT bih.biBitCount, ... );
zu versuchen aber das letzte feld wo die pixelwerte rein sollen kann ich leider noch nicht ausfüllen.
wenn ich die pixel dann habe, was muss ich dann noch machen, damit das bitmap auch gespeihert wird? bei der funktion ist ja noch kein dateipfad enthalten wo das hingespeichert weden soll.
die datei habe ich mit
ifstream datei("D:\\40_01.bmp",ios::binary|ios::in);
geöffnet.wäre super nett wenn jemand ein kleines codebeispiel hätte.
danke im voraus.
Timo
-
ich habe das nun mal ausprobiert
Bitmap^ myBitmap = gcnew Bitmap( "D:\\40_01.bmp" ); Color pixelColor = myBitmap->GetPixel( 50, 50 );aber dabei hält das programm immer an und sagt das der code noch eine andere funktion aufgerufen hat. Keine Ahnung welche das sein soll.
wenn das mal ausgeführt werden würde, ist das dann richtig, dass ein pixelwert abgegriffen wird und auf die variable geschrieben wird?
habe hier im Forum noch was von hdc = GetDC (hwnd); gelesen. hat das da auch noch was mit zu tun?
-
http://www.c-plusplus.net/forum/viewtopic-var-t-is-128603.html
Schnupper mal hier rein
-
Danke schonmal für den Tip.
wie wähle ich mein Bitmap als HDC-Device denn nun aus? das muss ja irgendwie mit dem GetDC (hwnd); befehl gehen aber in den klammern das check ich noch nicht. Da kann ich ja nicht einfach den Dateipfad eintragen dann kommt: Konvertierung des Parameters 1 von 'const char [30]' in 'HWND' nicht möglich
was ist das HWND überhaupt?
bin schon etwas am verzweifeln