 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
CommLan
Anmeldungsdatum: 23.10.2015 Beiträge: 40 Wohnort: hinterm Mond
|
Verfasst am: 17.01.2018, 15:47 Titel: Splashscreen splasht nicht |
|
|
Ein Hallo geht wieder an die Community.
Ich wollte eigentlich heute ein kleines Progrämmlein schreiben, bei welchem ein Splachscreen zur Verwendung kommen sollte. Nur irgendwie splasht der nicht ganz.
Eigentlich sollte ja, wenn ich garnichts ins Fenster reinpacke bei einem Splashscreen auch garnichts zu sehen sein, oder ?
Und ich habe auch versucht, mit ALPHA oder TRANS mit einer entsprechend geladenen Bitmap bei Put irgendetwas zu erreichen, aber nix. Geht nicht. Anschließend habe ich auch das Code - Beispiel von Volta aus der Grafikabteilung probiert, aber auch da, splasht nicht.
Das Fenster mit Splachscreen sieht genauso aus wie ein Fenster ohne Rahmen, nicht mehr und nicht weniger. Also Sprich, da wo es durchsichtig sein sollte, ist es einfach nur schwarz.
Kennt jemand das Problem unter Linux ? Wird das (noch) nicht unterstützt ? Oder spinnt hier wieder irgendeine Bibliothek systemseitig herum ? Oder bin ich wieder der Fehler, so wie eh und je ?
Info: Benutze Xubuntu 17.10 |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1276 Wohnort: Ruhrpott
|
Verfasst am: 17.01.2018, 18:49 Titel: |
|
|
Unter WinXP getestet, müsste aber auch unter Linux laufen: Code: | #Include "fbgfx.bi"
ScreenRes 500,500,32,,FB.GFX_SHAPED_WINDOW
Color RGB(255,255,0), RGB(255,0,255) 'vordergrund gelb, hintergrund transparent
Cls
Print "Wenn einer einen Ast zersaegt und damit einen Gast erlegt"
Print "dann wird das mit Knast belegt"
Sleep
|
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4687 Wohnort: ~/
|
Verfasst am: 17.01.2018, 19:40 Titel: |
|
|
Bei mir ist gerade noch Windows installiert, aber ich habe mal Linux Debian auf VirtualBox aufgesetzt- da klappt grindstones Beispiel. Ich vermute, du hast vergessen, den Hintergrund auf Transparentfarbe zu setzen (das geschieht bei grindstone durch das COLOR und dem folgenden CLS). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
CommLan
Anmeldungsdatum: 23.10.2015 Beiträge: 40 Wohnort: hinterm Mond
|
Verfasst am: 18.01.2018, 00:35 Titel: |
|
|
Hallo,
danke für die Hilfe.
Ich wusste garnicht mehr, dass das nötig ist. Ich weiß zwar noch, dass da irgendwas mit einem rosanem Farbton im Zusammenhang mit Alpha - Kanälen war, aber irgendwie hatte ich das nicht mehr ganz auf dem Schirm. Ich werde vergesslich, und das schon in meinem Alter
Wie es immer so schön heißt, der Fehler sitzt vorm PC.
Ich danke euch
Nur was mir gerade Rätsel aufwirft, warum Volta's Beispiel nicht funktioniert. Dort hatte ich eine Bitmap, die 32 Bit hatte, geladen, nur wurde keine Transparenz dargestellt. Da habe ich irgendwie noch keinen Schimmer, weil das ja eigentlich gehen sollte, oder ?
Das Bild war ein einfacher Text auf weißem Grund, welcher dann in Gimp durch die Funktion unter "Ebene" -> "Transparenz" -> "Farbe zu Transparenz" von weiß nach Transparent übersetzt wurde. Die Bitmap wurde mit 32 Bit gespeichert und dann in Volta's Beispiel von mir eingebunden. Funktioniert hat es jedoch nicht. Hat jemand eine Ahnung, welchen Stolperstein ich da wieder gefunden habe ?
Wenn ich von Volta's Beispiel rede, meine ich übrigens das hier (Für alle Mitleser, die es nicht kennen) :
https://www.freebasic-portal.de/code-beispiele/grafik-und-fonts/splash-window-49.html |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1276 Wohnort: Ruhrpott
|
Verfasst am: 18.01.2018, 08:11 Titel: |
|
|
Ich denke mal, daß Gimp die Transparenz mithilfe des Alphakanals herstellt. Das funktioniert in FB (immer noch) nicht. Hier wird nur reines Magenta (255,0,255) transparent dargestellt.
Gruß
grindstone
EDIT: Habe es gerade mal ausprobiert (mit Gimp). Mit Magenta als Hintergrundfarbe funktioniert die Transparenz in Voltas Beispiel. _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 18.01.2018, 11:14 Titel: |
|
|
Hi,
ist genau wie grindstone es schreibt.
Vermutlich aus historischem Grund hat man auf eine Farbe (Schlüpferrosa)
verzichtet um damit transparente bmp's schaffen zu können.
Somit läßt sich auch mit 24bit ohne Alphakanal Tranzparenz erzeugen. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4687 Wohnort: ~/
|
Verfasst am: 18.01.2018, 13:48 Titel: |
|
|
Was auch funktioniert: ein rosa Fenster erzeugen, dann ein Bild mit Alphakanal laden und auf den Bildschirm setzen. Direkt in den Bildschirm laden funktioniert da allerdings nicht, aber der Umweg über einen Bildpuffer.
Teiltransparenzen werden vermutlich ebenfalls nicht funktionieren, weil damit die Transparenzfarbe "verfälscht" wird und nicht mehr als Transparenzfarbe zählt.
Code: | #include "fbgfx.bi"
screenres 240, 240, 32,, FB.GFX_SHAPED_WINDOW
color ,&hff00ff
cls ' Jetzt ist erst einmal alles durchsichtig.
dim as FB.Image ptr img = imagecreate(240, 240)
bload "bild.bmp", img
put (0, 0), img, alpha
imagedestroy img
sleep |
Puffergröße natürlich entspechend richtig wählen! _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
CommLan
Anmeldungsdatum: 23.10.2015 Beiträge: 40 Wohnort: hinterm Mond
|
Verfasst am: 18.01.2018, 17:26 Titel: |
|
|
Wunderbarstens, jetzt weiß ich fast alles, was ich wissen wollte. Ich danke euch.
Jetzt noch mal was, was etwas offtopic ist, aber auch irgendwo dazu gehört, weil es auch mit einem Splashscreen zu tun hat.
Ich suche aktuell ein Beispielprogramm, bei welchem auch ein Splashscreen erzeugt wurde mit dem Schriftzug von FreeBasic oder dem Maskottchen, bin mir gerade nicht ganz sicher, und wenn man das angeklickt hatte und gehalten hat, konnte man das beliebig auf dem Bildschirm neu positionieren mit der Maus.
Hat da wer einen Schimmer, ist jemandem von euch dieses Programm schon mal unter gekommen ? Suche gerade wie ein blöder, finde es aber nicht
Das hatte ich mal irgendwo aus dem Netz gefischt.
Oder hat gar jemand eine Idee, wie man das umsetzen kann ? Ich bekomme da spontan zwar gerade eine Idee, aber ich glaube, es ist nicht das, was in dem Beispiel gemacht wurde... |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4687 Wohnort: ~/
|
|
Nach oben |
|
 |
CommLan
Anmeldungsdatum: 23.10.2015 Beiträge: 40 Wohnort: hinterm Mond
|
Verfasst am: 18.01.2018, 22:17 Titel: |
|
|
Genau das ist das Beispiel, das ich vermisst habe. Befehlsreferenz...
...da hab ich garnicht dran gedacht, dass es da verborgen liegen könnte
Besten Dank an alle, die geholfen haben, meinem Gedächtnis wieder auf die Sprünge zu helfen. Hat bestens geklappt  |
|
Nach oben |
|
 |
|
|
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.
|
|