Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » *.avi file

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.09.2004, 17:55 Uhr
~Canon
Gast


Hi!
ich hab mich leztens auf dieser:
www.cpp-programming.de/quellcodes/viewcode.php?id=033
Seite umgesehen und wollte nun ein .avi file in mein Programm einbringen.
Als ich das allerdings versuchte, viel mir auf, dass das Video in einem
externen Fenster ausgegeben wurde. Ist es möglich das Video in einer
bestimmten stelle im Hauptfenster (Win32 konsole) auszugeben???

MfG
Canon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.09.2004, 18:32 Uhr
RedEagle



In der Konsole geht das glaube nicht.

In der Konsole kann man nur Text ausgeben (und *.bmp's bei winxp)
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.09.2004, 18:42 Uhr
~Canon
Gast


Mrmmh...
schade. aber... apropo *.bmp, da hab ich noch ne Frage:

Ich habe folgenden Quellcode:C/C++ Code:
#include <windows.h>
#include <conio.h>

int lo=10,oo=10;
unsigned char chr;
int LoadBmp2Console(char *szBitmap, int PosX, int PosY, int breadth, int length)
{
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);

StretchBlt(hDC,PosX,PosY,breadth*bmp.bmHeight,length*bmp.bmWidth,hBitmapDC,0,0,bmp.bmHeight,bmp.bmWidth,SRCCOPY);

DeleteObject(hBitmap);
ReleaseDC(hwnd,hBitmapDC);
ReleaseDC(hwnd,hDC);

return 0;
}
void setposition (int l,int o) {
int Status = LoadBmp2Console("Bild.bmp",lo+l,oo+o,1,1);
lo+=l; oo+=o;
}
void main () {

do
{
chr=getch();
{ chr=getch();
switch(chr)
{
//links
case 75:{
setposition(-3,0);
break;}
//rechts
case 77:{
setposition(+3,0);
break;}
//unten
case 72:{
setposition(0,-3);
break;}
//oben
case 80/*119*/:{
setposition(0,+3);
break;}
}
}
}while(true);
}
geschriebn. Dabei ist mir aufgefallen, dass, wenn man z.B. die Pfeiltaste
"Pfeil nach oben" mit "W" vertascht, sich das Bild nur noch seltsam stockend
bewegt.
Frage 1: Woran liegt das, und kann man das irgentwie ändern???
Frage 2: Kann man diese dämlichen Schliern, die das Bild hintersichherzieht
ähh,... >abschaffen< oder so???

Danke!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.09.2004, 08:20 Uhr
Lensflare



hmm, hab zwar noch nie bilder in die konsole geladen (schön zu wissen dass es geht) aber vielleicht hast du deswegen diese "Schlieren", weil du in deiner programmschleife nicht die konsole löschst, nachdem das bild verschoben wurde.
es gibt dafür system("cls"); aber ich gehe davon aus, dass das bild dann stark flimmern würde.
Wenn es eine möglichket gibt, bilder auf andere bilder zu "malen", dann könnte man einen DoubleBuffer benutzen.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 13.09.2004 um 08:23 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: