Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

30.04.2005, 20:39

@ spasty:
er meint grundlagen wie sie in c++ für spieleprogrammierer von heiko kalista stehen.

12

30.04.2005, 20:49

ich will trotzdem wissen wie man eine grafik einfügt

übrigens bin ich schon in kapitel 5 von 10
DANGER
noob@work

13

30.04.2005, 21:01

grafik in konsole = schwer

14

30.04.2005, 21:13

okay han kapiert
muss zuerst das buch fertig lesen :crying:
DANGER
noob@work

Anonymous

unregistriert

15

07.05.2005, 15:40

Hallo,

ich würde gerne Grafiken in einer Win32-Anwendung einfügen möglichst ohne DirectX bzw. OpenGL. So wie damals richtig schöne uralte Grafik :-)
Kann mir da wer helfen? Den Befehl oder vielleicht Tutorials? Leider habe ich nur Tutos gefunden bei denen DirectX verwendet wird.

Danke

Gruß ecsl

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

16

07.05.2005, 16:14

Schau mal unter LoadImage und den Querverweisen

Mathias

Frischling

Beiträge: 29

Wohnort: Berlin

Beruf: Schüler

  • Private Nachricht senden

17

07.05.2005, 16:36

Zitat von »"Anonymous"«

Hallo,

ich würde gerne Grafiken in einer Win32-Anwendung einfügen möglichst ohne DirectX bzw. OpenGL. So wie damals richtig schöne uralte Grafik :-)
Kann mir da wer helfen? Den Befehl oder vielleicht Tutorials? Leider habe ich nur Tutos gefunden bei denen DirectX verwendet wird.

Danke

Gruß ecsl


Laden kannst du das Bild wie folgt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
HBITMAP hBmp;           // Bitmapspeicher



char*         szPath = "bild.bmp";
int              iWidth = 256;
int              iHeight = 256;

hBmp = (HBITMAP)LoadImage(0, szPath, IMAGE_BITMAP, iWidth, iHeight, LR_LOADFROMFILE);


Und wenn du das Bild dann in hBmp hast könntest du es so darstellen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
HDC hDC; // das ist muss ein gültiger DeviceContext sein, zB. vom Fenster




HDC hdcMem = CreateCompatibleDC(hDC);

SelectObject(hdcMem, hBmp);
 


BitBlt(hDC, x, y, width, height, hdcMem,0,0,SRCCOPY);



DeleteDC(hdcMem);

}

ecsl

Frischling

Beiträge: 41

Wohnort: Kaiserslautern

Beruf: Meteorologie Student

  • Private Nachricht senden

18

07.05.2005, 18:47

Hallo,

danke erstmal für die schnellen Antworten.
Also soweit funktioniert alles wie gewollt.
Nun noch 2 weitere Fragen.

1. Ich habe ne Grafik gemacht mit schwarzem Hintergrund und ner Figur inner Mitte. Wie kann ich den Hintergrund ausblenden?

2. Dies ist mehr ne Verständnisfrage. Wenn ich nun mein Bild bewegen will per Tasten links, rechts, hoch, runter so muss ich in die Tastenfunktion das Bild einfügen oder? Sodass es bei Tastendruck in die entsprechende Richtung um 1 mitgeht. Bin zwar noch nicht so weit aber interessamt wäre es schon zu wissen ;)

3. Noch ne Kleinigekeit. Ich suche die Tastenbelegung in C++ also wenn ich wie Befehlsnamen der Tasten z.B. down, up, left, right . Hoffe Ihr wisst was ich meine. Steht im zusammenhang mit Frage 2.

Danke

Gruß ecsl

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

19

07.05.2005, 20:24

Also, das mit der Transparent findest du im FAQ Bereich des Boards!

Es gibt in C/C++ keine Befehle, sondern nur Funrkionen / Prozeduren. Als Anfänger könnte man die zwar auch als Befehle bezeichnen, aber es sind keine. Die Konstanden für Tasten mit der WINAPI dürften alle mit VK_ beginnen also VW_LEFT, VK_TOP, VK_DOWN, VK_UP.

Man könnte das dann folgendermaßen einbinden (in der Nachrichtenprozedur)

[cpp]
switch(message)
{
case WM_KEYDOWN:
switch(lParam)
{
case VK_LEFT:
DrawPictureMoreLeft();
break;
}
break;
}
[cpp]

Die Methode könnte eine Variable x erhöhen, die du dann bei einem erneuten Zeichnen (Blitten) mit BitBlt(hDC, x, y, width, height, hdcMem,0,0,SRCCOPY); einfach einsetzt.

ecsl

Frischling

Beiträge: 41

Wohnort: Kaiserslautern

Beruf: Meteorologie Student

  • Private Nachricht senden

20

07.05.2005, 21:18

danke dir

das genügt als Denkanstoß, solangsam kommts voran ^^
Hab jetzt mal bissl frei und will endlich mal richtig zum proggen kommen.

Bis denn denn

Werbeanzeige