Bild in Console anzeigen



  • Also das was ich gelesen hab hat nix von einer extra Main geschrieben und nur von Funktionen die man aufrufen muss.



  • d.h. SDL könnte ich sowohl in kombination mit der console als auch mit der winapi nutzen.. ?



  • schau dir mal allegro im spielefaq an...



  • Pixelgrafik ist Grafiksache. Verschoben ins Grafikforum.

    MfG SideWinder



  • _In_ der Console kann man keine Pixelgrafik zeigen.



  • Original erstellt von TGGC:
    _In_ der Console kann man keine Pixelgrafik zeigen.

    Doch. In der Konsole von Quake besteht der Hintergrund doch auch aus 'ner Textur... 😉 😃



  • Soweit ich weiss ist der Inhalt des Konsolenfenster,unter Windows(nicht Vollbild), doch ein Bitmap,oder? 😕

    MfG Spacelord 🙂



  • Und fürs nächste mal: erst Suchen dann schreiben!

    sollte lauten erst wissen dann schreiben 😉

    _In_ der Console kann man keine Pixelgrafik zeigen.

    stimmt nicht

    #include <windows.h> 
    #include <stdio.h>
    #pragma comment(lib,"gdi32.lib") 
    
    const char* szBitmap1 = "bitmap.bmp"; 
    
    const HWND GetConsoleWindow ()
    {
       HWND hwnd;
       TCHAR strNewTitle [256];
       TCHAR strOldTitle [256];                                  
    
       GetConsoleTitle ( strOldTitle , 256 );
    
       wsprintf ( strNewTitle , "%d/%d" , GetTickCount () , GetCurrentProcessId () );
    
       SetConsoleTitle ( strNewTitle );
    
       Sleep ( 50 );
    
       hwnd = FindWindow ( NULL , strNewTitle );
    
       SetConsoleTitle ( strOldTitle );
    
       return ( hwnd );
    }
    
    int LoadBitmap()
    {
      int breite = 0; 
      int hoehe  = 0; 
    
      HWND hConsoleWindow = GetConsoleWindow (); 
      if (!hConsoleWindow) return 1;   
    
      HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,szBitmap1,
                         IMAGE_BITMAP,0,0,LR_LOADFROMFILE); 
      if (!hBitmap) return 1; 
    
      BITMAP bitmap; 
      GetObject(hBitmap,sizeof(bitmap),&bitmap); 
    
      hoehe   = bitmap.bmHeight; 
      breite   = bitmap.bmWidth; 
    
      HDC hDC = GetDC(hConsoleWindow);   
      if (!hDC) return 1; 
    
      HDC hBitmapDC = CreateCompatibleDC(hDC); 
      if (!hBitmapDC) return 1; 
    
      SelectObject(hBitmapDC,hBitmap); 
    
      BitBlt(hDC,0,0,breite,hoehe,hBitmapDC,0,0,SRCCOPY); 
    
      getchar(); 
      DeleteObject(hBitmap); 
      ReleaseDC(hConsoleWindow,hBitmapDC); 
      ReleaseDC(hConsoleWindow,hDC);
    }
    
    int main() 
    {        
      return LoadBitmap(); 
    }
    

    Denn Code habe ich zum Teil aus dieser Seite und aus dieser http://people.freenet.de/cpp-programming.de.vu/grafik.html

    unter WinXP geht es. Sollte auch unter Win2000 funk.

    [ Dieser Beitrag wurde am 22.03.2003 um 00:39 Uhr von Netzwerk-Latenz editiert. ]



  • Bei LoadBitmap am Ende noch ein return 0;



  • Original erstellt von Netzwerk-Latenz:
    **Und fürs nächste mal: erst Suchen dann schreiben!

    sollte lauten erst wissen dann schreiben 😉

    _In_ der Console kann man keine Pixelgrafik zeigen.

    stimmt nicht**

    Die Frage ist jetzt, ist DAS in der Console oder nur in einem Windows Fenster (in dem "zufällig" auch die Konsole drin ist).


Anmelden zum Antworten