Sourcecodes - Bitmap in Konsolen-Fenster laden

Sprachenübersicht/C / C++/ C#/Grafik

Bitmap in Konsolen-Fenster laden

Diese Seite wurde 3914 mal aufgerufen.

Diese Artikel wurde als uneditierbar gepostet, und darf, wenn nicht ausdrücklich erlaubt nicht auf anderen Seiten verbreitet, oder editiert werden! Printversion

Herzlichen Dank an Anton Staruschkin von www.cpp-programming.de/, für die Erlaubnis seine Quellcodes zu veröffentlichen.

Hier ein Beispiel wie man Bitmaps in ein Konsolen Fenster lädt. Für diesen Code muss die gdi32.lib gelinkt werden. Deshalb bei DEV-C++ unter dem Menüpunkt "Projekt Optionen"-->"Linker Optionen" das Wort "-lgdi32" (ohne "") eingeben. Für MSV C++ tut es auch die dritte Zeile.

Code:


#include <windows.h>
#include <stdio.h>
//#pragma comment(lib,"gdi32.lib")

int LoadBmp2Console(char *szBitmap, int PosX, int PosY)
{    
  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); 
   
  BitBlt(hDC,PosX,PosY,bmp.bmHeight,bmp.bmWidth,hBitmapDC,0,0,SRCCOPY);  
   
  DeleteObject(hBitmap); 
  ReleaseDC(hwnd,hBitmapDC); 
  ReleaseDC(hwnd,hDC);

return 0;
}

int main() 
{     
  int Status = LoadBmp2Console("bitmap.bmp",10,10);
  if(Status!=0)printf("Fehler: %i",Status);  
   
  getchar();  
  return 0; 
}

Gibt es noch irgendwelche Fragen, oder wollen Sie über den Artikel diskutieren?

Sprachenübersicht/C / C++/ C#/Grafik/Bitmap in Konsolen-Fenster laden