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:

Splashscreen splasht nicht

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



Anmeldungsdatum: 23.10.2015
Beiträge: 40
Wohnort: hinterm Mond

BeitragVerfasst am: 17.01.2018, 15:47    Titel: Splashscreen splasht nicht Antworten mit Zitat

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 ? durchgeknallt

Info: Benutze Xubuntu 17.10
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 17.01.2018, 18:49    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



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

BeitragVerfasst am: 17.01.2018, 19:40    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
CommLan



Anmeldungsdatum: 23.10.2015
Beiträge: 40
Wohnort: hinterm Mond

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

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 durchgeknallt

Wie es immer so schön heißt, der Fehler sitzt vorm PC.

Ich danke euch Daumen rauf!


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 ? verwundert

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
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 18.01.2018, 08:11    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 18.01.2018, 11:14    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



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

BeitragVerfasst am: 18.01.2018, 13:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
CommLan



Anmeldungsdatum: 23.10.2015
Beiträge: 40
Wohnort: hinterm Mond

BeitragVerfasst am: 18.01.2018, 17:26    Titel: Antworten mit Zitat

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 durchgeknallt
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
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 18.01.2018, 21:40    Titel: Antworten mit Zitat

https://www.freebasic-portal.de/befehlsreferenz/screencontrol-365.html
Beispiel ganz unten. lächeln
_________________
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
CommLan



Anmeldungsdatum: 23.10.2015
Beiträge: 40
Wohnort: hinterm Mond

BeitragVerfasst am: 18.01.2018, 22:17    Titel: Antworten mit Zitat

Genau das ist das Beispiel, das ich vermisst habe. Befehlsreferenz...
...da hab ich garnicht dran gedacht, dass es da verborgen liegen könnte peinlich

Besten Dank an alle, die geholfen haben, meinem Gedächtnis wieder auf die Sprünge zu helfen. Hat bestens geklappt lächeln Daumen rauf!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen 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