Bild nur zur Hälfte zu sehen



  • Ich lade ein Bild in eine Console und zwar so:

    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;
     }
    

    und danach lasse ich es so laden:

    LoadBmp2Console("C:\\soundplayer.bmp",0,0);
    

    1: Das bild ist nur halb zu sehen !
    2: beim runterscrolen ist es wieder weg 😞
    kann man da was machen ?


  • Administrator

    Also ganz ehrlich, grundsätzlich sollte man dir nicht mehr helfen. Zum 9999999999999999999999999999999999999999999999999999 Mal, das ist WinAPI, dafür gibt es ein eigenes Forum.

    Grüssli



  • Dieser Thread wurde von Moderator/in Phoemuex aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • natürlich ist es weg weil es überzeichnet wurde!!!!



  • ja ok winapi... ach ist doch alles daselbe 😃 (das war jetzt nicht ernst gemeint)
    und warum ist es immer nur zur hälfte da ?

    EDIT: es war erst das dritte mal und ich habs bisher hier schon 12 mal duchgebracht ein winapi thema reinzustellen



  • Was willst du uns damit sagen? Dass man dir eigentlich Boardurlaub gönnen sollte, oder was?



  • das vergessen wir einfach wieder ...

    back to topic *hust*

    also so sieht es aus:
    http://ul.to/nbh6nb

    wer es sich ansehen will... und der code ist ja oben zu sehen, kann denn keiner helfen ?



  • Falls der Fehler woanders zu finden ist ist hier das ganze programm:

    #include <cstdlib>
    #include <iostream>
    #include <windows.h>
    #include <sstream>
    #include <fstream>
    #pragma hdrstop
    #include <stdio.h>
    #include <stdlib.h>
    #include "mmsystem.h"
    
    //----------------------PICTure--------------------------------------
    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;
     }
    //------------------------------------------------------------------
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int z = 0,sizer;
        TCHAR szFileName[MAX_PATH]; //find app location
        GetModuleFileName(NULL, szFileName, sizeof(szFileName) / sizeof(TCHAR));
        // cout<<"SOUNDLIKE"<<endl;
        string path,ordner;
        string soundplant;
        sizer = strlen(szFileName);
        for (;z<sizer;z++)
        {
           path += szFileName[z];
           if (szFileName==" "||szFileName==""||szFileName=="")
           {
             break;
           }
        }
        string windir;
        TCHAR szSysPath[MAX_PATH];
        GetSystemDirectory(szSysPath, MAX_PATH);
        stringstream convert;
        convert << szSysPath;
        convert >> windir;
        convert.clear();
        windir = windir.substr(0,2); 
        // cout << windir << endl;
        string endgultig;
        endgultig = windir;
        //--------------------------SONGLIST--------------------------------
           //  1: Proem - Bolt Action Ardvark
           //  2: Windows Welcome Musik
           //  3: Lissat Voltaxx - Mohawk
           //  4: Ant Miles and Boneshaker - Numbers Game
           //  5: Antoine Clamaran - Gianpula (Original Mix) (www_musiclounge_c4_to)
           //  6: Claude VonStroke - The Whistler (The Aston Shuffle Mix)
           //  7: DJ Volume - The Spirit Of Yesterday (Club Mix)
           //  8: Drifter - Sailing
           //  9: Düse - Disco Düse (Düse Club)
           // 10: H_A_B_Vs rocks - Peacemaker
           // 11: Horny United - Crazy Paris (Klaas Remix) [MUSiClOUNGE_c4_to]
           // 12: JUNK PROJECT - CONTROL´99
           // 13: Skyscraper - Paradise Original
           // 14: Zushi - La La Song (Showtek Remix)
           // 15: Paradise HARDBASS EDIT
           // DELETED: Tatanka Pres J Hiroshi - Showtime
           // DELETED: Etienne De Crecy - Am I Wrong
           string music[25];
           music[1] = "1: Proem - Bolt Action Ardvark";
           music[2] = "2: Windows Welcome Musik";
           music[3] = "3: Lissat Voltaxx - Mohawk";
           music[4] = "4: Ant Miles and Boneshaker - Numbers Game";
           music[5] = "5: Antoine Clamaran - Gianpula (Original Mix) (www_musiclounge_c4_to)";
           music[6] = "6: Claude VonStroke - The Whistler (The Aston Shuffle Mix)";
           music[7] = "7: DJ Volume - The Spirit Of Yesterday (Club Mix)";
           music[8] = "8: Drifter - Sailing";
           music[9] = "9: Düse - Disco Düse (Düse Club)";
           music[10]= "10: H_A_B_Vs rocks - Peacemaker";
           music[11]= "11: Horny United - Crazy Paris (Klaas Remix) [MUSiClOUNGE_c4_to]";
           music[12]= "12: JUNK PROJECT - CONTROL 99";
           music[13]= "13: Skyscraper - Paradise Original";
           music[14]= "14: Zushi - La La Song (Showtek Remix)";
           music[15]= "15: Paradise HARDBASS EDIT";
           string songlist = "";
           songlist += "Welchen Sound wollen sie abspielen ?\n";
           songlist += "1: Proem - Bolt Action Ardvark\n";
           songlist += "2: Windows Welcome Musik\n";
           songlist += "3: Lissat Voltaxx - Mohawk\n";
           songlist += "4: Ant Miles and Boneshaker - Numbers Game\n";
           songlist += "5: Antoine Clamaran - Gianpula (Original Mix) (www_musiclounge_c4_to)\n";
           songlist += "6: Claude VonStroke - The Whistler (The Aston Shuffle Mix)\n";
           songlist += "7: DJ Volume - The Spirit Of Yesterday (Club Mix)\n";
           songlist += "8: Drifter - Sailing\n";
           songlist += "9: Düse - Disco Düse (Düse Club)\n";
           songlist += "10: H_A_B_Vs rocks - Peacemaker\n";
           songlist += "11: Horny United - Crazy Paris (Klaas Remix) [MUSiClOUNGE_c4_to]\n";
           songlist += "12: JUNK PROJECT - CONTROL 99\n";
           songlist += "13: Skyscraper - Paradise Original\n";
           songlist += "14: Zushi - La La Song (Showtek Remix)\n";
           songlist += "15: Paradise HARDBASS EDIT";
    
        //-----------------------SOUNDDEFI----------------------------------
        int sc = 1;
        string titnum;
        ordner = path.substr(0,(path.size()-19));
        string sound[17];
        for (;sc<17;)
        {
           sound[sc] = ordner;
           convert << sc;
           convert >> titnum;
           convert.clear();
           sound[sc] += "Sounds\\";
           sound[sc] += titnum;
           if(sc!=2&&sc!=15)
           sound[sc] += " Titel.mp3";
           if(sc==2&&sc!=15)
           sound[sc] += " Titel.wav";
           if(sc==15)
           sound[sc] += " Titel.wma";
           sc = sc + 1;
        }
    
        //----------------choose Sound--------------------------------------
    
        int menu;
        MessageBox(NULL,songlist.c_str(),"Soundselection",MB_OK|MB_ICONQUESTION);
        MARK:
        cout<<"MENUPUNKT: "<<endl;
        cin>>menu;
        if(menu<1&&menu!=0||menu>15&&menu!=0)
        goto MARK;
        cin.get();
        //-----------------------FROM from SEC------------------------------
        int from,secfr;
        string mci2;
        string fromstr;
        //cout<<"FROM IN SEC: ";
        //cin>>secfr;
        //from = secfr * 1000;
        from = 0;
    
        //------------------Backgrounder------------------------------------
        int Status = LoadBmp2Console("C:\\soundplayer.bmp",0,0);
        //--------Play Sound------------------------------------------------
        system("cls");
        SetConsoleTitle(music[menu].c_str());
        if(menu==0)
        SetConsoleTitle("No Musik selected");
        HWND window = FindWindow(music[menu].c_str(),NULL);
        //ShellExecute(NULL, "open", sound[menu].c_str(),  NULL,  NULL,  SW_SHOWNORMAL);
        std::string mci;
        //cout<<sound[menu]<<endl;
        if (menu!=0&&menu!=2||menu==15)
        {
          mci = "open ";
          mci += "\"";
          mci += sound[menu];
          mci += "\"";
          mci += " alias MP3 wait";
          mciSendString(mci.c_str(), 0, 0, 0);
          convert << from;
          convert >> fromstr;
          mci2 = "play MP3 from ";
          mci2 += fromstr;
          //cout<<mci2;
          mciSendString(mci2.c_str(), 0,0,0);
          //PlaySound(sound[menu].c_str(), NULL, SND_FILENAME | SND_ASYNC);
    
          Sleep(1000);
        }
        if(menu==2)
        PlaySound(sound[menu].c_str(), NULL, SND_FILENAME | SND_ASYNC);
    
        endgultig += "\\Dokumente und Einstellungen\\Tim\\Startmenü\\Programme\\Autostart\\";  
        //CopyFile(soundplant.c_str(),endgultig.c_str(),1);
    
        //  umrechnung: 0,11107954545454545454545454545455 3:52
        //  umrechnung: 0,10666666666666666666666666666666 4:35
        //  umrechnung: 0,10365384615384615384615384615385 5:20
        //  umrechnung: 0,10384                            6:25
        //  umrechnung: 0,10331034482758620689655172413793 7:25
    
        //---------------------------rest help------------------------------
        //-----------------AUSBLENDE----------------------------------------
                   keybd_event(VK_LWIN ,0, 0, 0);
                   keybd_event(77, 0 ,0 ,0);
                   keybd_event(VK_LWIN ,0, KEYEVENTF_KEYUP	, 0);
                   keybd_event(77 ,0, KEYEVENTF_KEYUP	, 0);
        //------------------------------------------------------------------
               string picture;
               picture = ordner;
               picture += "Data\\";
               picture += "1.bmp";
        for(;;)
        {
               int Status = LoadBmp2Console(const_cast<char*>(picture.c_str()),0,0);   
               Sleep(5000);
        }
        mciSendString("close MP3", 0,0,0); 
        //------------------------------------------------------------------
        return EXIT_SUCCESS;
    }
    

    NATÜRLICH NUR WENN JEMAND LUST HAT DAS ZU DURCHFORSTEN 😃



  • So JETZT hab ichs. das Bild musste 640*640 groß sein. Aus meinen 640*300 wurden 300*300. Keine ahnung warum ist mir aber auch egal.


Anmelden zum Antworten