Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Transparenz

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 08.04.2012, 18:05    Titel: Transparenz Antworten mit Zitat

Hi Leute,

ich brauche ein durchsichtiges Fenster möglichst mit 32bpp

hab folgendes aus der Referenz probiert:

Code:
#INCLUDE "fbgfx.bi"
SCREENRES 200, 200, 32,, FB.GFX_SHAPED_WINDOW or FB.GFX_ALWAYS_ON_TOP
CIRCLE (100, 100), 50, RGB(255, 0, 255),,,, F

DO
  SLEEP 1
LOOP UNTIL LEN(INKEY)

Ergebnis ist ein schwarzer BG mit nem Loch
allerdings hab ich die erklärung so verstanden das der Hintergrund Transparent sein sollte !?

So ist es auch wenn ich 8bpp eingebe (ab 16 nicht mehr)

hab ich was übersehen oder muss ich bei 32 bpp den BG auf
Code:
RGB(255, 0, 255)
setzen ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 08.04.2012, 19:27    Titel: Antworten mit Zitat

Hi,
das Beispiel in der Referenz ist nicht so glücklich.

Versuch mal:
Code:
#INCLUDE "fbgfx.bi"
SCREENRES 200, 200, 32,, FB.GFX_SHAPED_WINDOW or FB.GFX_ALWAYS_ON_TOP
Color ,RGB(255, 0, 255) : Cls 'kein HG

Circle (80, 100), 50, RGB(0, 200, 200),,,, F

Do
  SLEEP 1
LOOP UNTIL LEN(INKEY)

Richtig, der Hintergrund muß auf RGB(255, 0, 255) für transparent gesetzt werden.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 09.04.2012, 13:52    Titel: Antworten mit Zitat

OK danke

aber nur mal zum verständnis
gibt es einen Grund weshalb bei 8 bpp der BG automatisch (also ohne Color) Transparent ist?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 09.04.2012, 14:26    Titel: Antworten mit Zitat

Jede Farbtiefe besitzt eine Transparenzfarbe, also eine, die bei einem Aktionswort wie TRANS als transparent angesehen wird. Bei 16bbp bzw. 32bbp ist das &hFF00FF (pink). Bei 8bbp geht dieser Wert natürlich nicht, da ist es die Farbe 0 (schwarz). Da das nun aber die Standard-Hintergrundfarbe ist, wird das entsprechend transparent gesetzt.

Wenn du im Referenzbeispiel kein Fenster mit Loch sondern einen Kreis ohne Fenster darum haben willst, kannst du entsprechend die Hintergrundfarbe auf &hFF00FF setzen und den Kreis in einer beliebigen anderen Farbe setzen. Mit Alphakanal geht das natürlich auch, braucht man aber nicht unbedingt.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 09.04.2012, 14:53    Titel: Antworten mit Zitat

alles klar, Danke

nur nochmal ne Frage zu einer .bi

hab hier im Forum noch nicht so das richtige gefunden, vllt wisst ja nen link

meine Idee war in einer bibliothek mittels LINE und Co diverse Symbole anzulegen z.B. für für buttons oder Instrumente.

meine Frage: wie kann ich dann einzelne Elemente aufrufen

Ansonsten wär meine Hauptfrage dann gelöst.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 09.04.2012, 14:58    Titel: Antworten mit Zitat

Code:
' mySymbol mit dem Wert 5 belegen
#DEFINE mySymbol 5
' mySymbol verwenden
PRINT "mySymbol ist um 1 kleiner als "; mySymbol + 1

Meinst du so etwas?

Überall, wo ab sofort mySymbol auftaucht, ersetzt es der Compiler schon im Vorfeld durch den angegebenen Wert.

Oder meinst du einfach nur ausgelagerte Prozeduren? Die können in einer anderen Datei (z. B. .bi) stehen, die mit #INCLUDE eingebunden wird.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 10.04.2012, 00:35    Titel: Antworten mit Zitat

das zweite meinte ich - also eine ausgelagerte Prozedur in die nach belieben neue, kleine "Grafiken" eingefügt werden können

und diese .bi dann auch wieder für neue Projekt genutzt werden kann
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 10.04.2012, 01:20    Titel: Antworten mit Zitat

Du schreibst ganz einfach deine Prozedur in die .bi und bindest die .bi mit #INCLUDE ein. Das ist alles. Das #INCLUDE funktioniert so, als ob der Dateiinhalt an dieser Stelle im Quellcode stehen würde.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
braesident



Anmeldungsdatum: 15.04.2008
Beiträge: 189
Wohnort: Berlin

BeitragVerfasst am: 10.04.2012, 09:13    Titel: Antworten mit Zitat

ok danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz