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

  • »Das_Kleine_C++;« ist der Autor dieses Themas

Beiträge: 59

Wohnort: 79104 Freiburg

  • Private Nachricht senden

1

17.07.2007, 09:37

Bitmaps im C++Builder

hi leute,
weiß jemand zufällig, wie ich ein Bitmap im c++-builder auf den Bildschirm zaubern kann.
(Man könnte sich natürlich eins malen und dann mit TImage ausgeben, aber
dann hat man immer ein Viereck :( ).

Vielen Dank
Das_Kleine_C++;

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

17.07.2007, 09:51

Sind Bitmaps nicht immer viereckig? :shock:
@D13_Dreinig

Anonymous

unregistriert

3

17.07.2007, 09:58

Doch aber es gibt ja "transparenz". ;)

  • »Das_Kleine_C++;« ist der Autor dieses Themas

Beiträge: 59

Wohnort: 79104 Freiburg

  • Private Nachricht senden

4

17.07.2007, 10:08

David_pb hat folgendes geschrieben:

Zitat

Sind Bitmaps nicht immer viereckig?

->natürlich,
ich meinte aber genau deswegen.
angenommen mein Bitmap besteht aus einem Raumschiff.
ein solches ist ja leider nie Viereckig ;)
es bleibt also immer ein störender Rand.
Wie kann ich das umgehen?
-Danke-

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

5

17.07.2007, 10:18

Bei Bitmaps kannst du per Colorkey eine Farbe als "transparent" markieren. Andere Formate unterstützen einen weiteren Farbkanal (Alpha) bei dem du den Grad der Pixeltransparenz bestimmen kannst.
@D13_Dreinig

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

6

17.07.2007, 10:31

Er meinte das so wie man es in SDl machen würde.Du erstellsst deine Grafiken und alles wass nicht zu deiner Grafik gehören soll und später auch net angezeigt werden soll gibts du die Farbe z.b. Pink(255,0,255) und diese kannst du dann von C++/SDL Transparent machen lassen in deinem Spiel und du siehst nur noch deine Grafik die du sehen wolltest und alles was Pink ist bleibt Transparent.

Ich hoffe du verstehst das so,bin auch noch net lange dabei und habe deshalb manchmal probs mich verständlich auszudrücken.

Hier noch das Beispielbild von Heiko Kalistas Buch.


(Link)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

17.07.2007, 10:37

Na, um ehrlich zu sein müssten wir schon wissen wie du, Das_Kleine_C++, die Bilder auf den Bildschirm blitten willst. Du kannst TImage verwenden, die Komponente besitzt eine Eigenschaft (Transparent) die du auf den Wert true setzten musst. Außerden kannst du die Transparente Farbe über TImage->Picture->Bitmap->TransparentColor bestimmen.
Wenn du SDL, OpenGL, DirectX, GDI, GDI+ oder sonst was verwenden willst dann geht das jeweils etwas anders. Aber die Information brauchen wir halt erst.
@D13_Dreinig

Anonymous

unregistriert

8

17.07.2007, 10:38

Oh...hmmmm.

Hier in diesem Fall denke ich kein Thema, aber unterlasst bitte das posten oder scannen von Buchinhalten. Das könnte mal ins Auge gehen.


(Link)

  • »Das_Kleine_C++;« ist der Autor dieses Themas

Beiträge: 59

Wohnort: 79104 Freiburg

  • Private Nachricht senden

9

17.07.2007, 11:32

nein, ich meinte eigentlich schon TImage.
Ich wusste gar nicht, das es so was wie transparenz gibt, is ziemlich genial.
ich probiers gleich mal aus.

Vielen vielen vielen Dank. :D

  • »Das_Kleine_C++;« ist der Autor dieses Themas

Beiträge: 59

Wohnort: 79104 Freiburg

  • Private Nachricht senden

10

17.07.2007, 12:17

hi leute,
irgendwie bereitet mir mein Compieler grad Probleme. Evil or Very Mad

C-/C++-Quelltext

1
2
Form1->Image1->Transparent = true;
Form1->Image1->Picture->Bitmap->TransparentColor = clRed;


(Mein Image war ein blauer Punkt mit einem roten Rand)

Ich kriege immer nur die Fehlermeldung:
-Transparen is not a member of 'Extctrls::TImage'.
-'Graphics::TBitmap::TransparentColor' is not accessible.

heißt das, das es bei meiner C++BuilderVersion(1.0) noch gar kein "Transparent" gibt?

Hoffentlich nicht, das wäre nämlich dooooof! Crying or Very sad
Vielleicht hat ja doch jemand eine rettende Idee.

Vielen Dank im *******
Das_Kleine_C++;

Werbeanzeige