wojass
-
Postów
4 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez wojass
-
-
W katalogu programu musisz
wrzucić pliczek "obrazek.bmp"
no i tak jak ktoś wyżej pisał- lepszym rozwiązaniem jest nauczyć się okienek:)
// KonsolaBitmapa.cpp : Defines the entry point for the console application. // //#include "stdafx.h" #include #include #include void rysuj_bmp(HDC hDC,HBITMAP hBmp, int ix, int iy) { BITMAP bitmap; HDC hTempDC = CreateCompatibleDC( hDC); GetObject( hBmp, sizeof(BITMAP), &bitmap); SelectObject( hTempDC, hBmp); BitBlt( hDC, ix, iy, bitmap.bmWidth + ix, bitmap.bmHeight + iy, hTempDC, 0, 0, SRCCOPY); DeleteDC( hTempDC); } void cursoroff() { CONSOLE_CURSOR_INFO ccinf; HANDLE _hcout = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleCursorInfo(_hcout,&ccinf); ccinf.bVisible = false; SetConsoleCursorInfo(_hcout,&ccinf); } int main(int argc, char* argv[]) { char szTitle[] = "UNIKALNA NAZWA KONSOLI"; HWND hOknoKonsoli; //kursor niewidoczny! cursoroff(); //Szukamy okna konsoli SetConsoleTitle( szTitle); hOknoKonsoli = FindWindow( NULL, szTitle); //Wczytywanie pliku HBITMAP hBmp = (HBITMAP)LoadImage( NULL, "obrazek.bmp", IMAGE_BITMAP,0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION); //Czesc rysujaca HDC hDC = GetWindowDC( hOknoKonsoli); rysuj_bmp( hDC, hBmp, 10, 50); ReleaseDC( hOknoKonsoli, hDC); //Koniec aplikacji printf( "Nacisnij cos....."); while( ! kbhit( )) Sleep( 100); return 0; }
-
wszystko w windowsie jest oknem(nawet okienko konsoli!!!) skoro tak... to można pobrać identyfikator okna i rysować po nim jak po normalnym oknie.
Za jakaś chwilke napisze kod rysujacy na konsoli bitmape... ale nie jpg bo nie mam czasu grzebac w GDI+
-
W windowsowskiej konsoli się da wyświetlić JPG. Musisz wpierw zdobyć identyfikator okna twojej konsoli HWND (SetConsoleTitle a później FindWindow) a jak to będziesz miał to funkcje z GDI+ chyba potrafią JPG czytać, nie wiem GDI+ nigdy nie urzywałem ale tak mi się obiło o uszy gdzieś. Zwykłe GDI nie potrafi jpg-ów czytac!
[C++] Grafika w konsoli
w C, C++
Opublikowano
no tak :) przecież grafiki nie umieszczamy w buforze STD_OUT tylko w kontekscie okienka. Jak przejdziesz na Fullscreen to juz rysowanie niedziała bo zmienia się sposób wyświetlania. Chyba też to można obejść ale to gra niewarta swieczki:)