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:

PNG Laden - Probleme bei Ausgabe mit PUT

 
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
sushidelic



Anmeldungsdatum: 23.03.2014
Beiträge: 4

BeitragVerfasst am: 23.03.2014, 11:20    Titel: PNG Laden - Probleme bei Ausgabe mit PUT Antworten mit Zitat

Hallo,

bestimmt schon xfache fragen zu PNG etc. und ich beschäftige mich
jetzt schon seit stunden damit, aber bekomme es einfach nicht hin.

Code:

#Include "fbgfx.bi"
#include "fbpng.bi"
#include "ext/graphics/font.bi"
using ext

ScreenRes 1920,1080,32,,&h01,&h40

Dim As Any Ptr bild1, bild2

bild1 = png_load( "bg01.png" )
bild2 = png_load( "bgmenu.png" )

Put(0,0),bild1
Put(20,135),bild2

png_destroy(bild1)
png_destroy(bild2)

....


ganz simpler Spagetthi Code, um zu testen ob das ersteinmal Funktioniert so wie ich denke, und das tut es halt nicht.

Bild 1 wird angezeigt, und Bild 2 erscheint dann in einer art "invertierung" (aber keine echte invertierung)

Wenn ich bild1 weg lasse, und nur bild2 anzeige, dann erscheint das ganz normal.

Hat jemand eine Idee woran das liegen könnte?
(mit BMPs rumwurchteln oder so kommt auf grund der Dateigröße für mich nicht in Frage)

thx und gruß sushidelic

ps. sorry bin totaler noob und sind meine ersten Stunden mit FB lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 23.03.2014, 12:31    Titel: Antworten mit Zitat

Code:
Put(0,0),bild1, PSET
Put(20,135),bild2, PSET


PSET ist das zauber-schlüsselwort zwinkern


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 23.03.2014, 12:37    Titel: Antworten mit Zitat

Hallo sushidelic,

willkommen im Forum! lächeln

Ohne deine PNG-Dateien kann ich es jetzt leider nicht bei mir testen. Aber könnte es vielleicht sein, dass du die Parameter bei ScreenRes noch nicht ganz richtig hast?

Code:
Syntax:
SCREENRES (Breite, Höhe[, [Farbtiefe][, [Seitenzahl][, [Flags][, Bildwiederholrate]]]])

(Quelle)

Wenn ich richtig zähle, käme bei deiner Zeile
Code:
ScreenRes 1920,1080,32,,&h01,&h40

das hier raus:

  • Breite = 1920 (OK)
  • Höhe = 1080 (OK)
  • Farbtiefe = 32 Bit (OK)
  • Seitenzahl = k.A. (OK)
  • Flags = 1 (=GFX_FULLSCREEN) (OK)
  • Bildwiederholrate = &H40 = 64 (???)


Wahrscheinlich wolltest du stattdessen die Flags &H1 (Vollbild) und &H40 (GFX_ALPHA_PRIMITIVES) zusammen als Flag kombiniert angeben oder?

Wenn ja, müsstest du
Code:
&H1 or &H40

als Flag angeben. Durch OR erfolgt eine Verknüpfung der beiden Bitmasken.

Wenn du z. B. 11000011 und 10110011 miteinander per OR verknüpfst, sind im Ergebnis alle Stellen mit 1 besetzt, wo in mind. einer der beiden Zahlen eine 1 steht:
Code:
11000011
10110011
-- OR --
11110011

So funktioniert das auch mit den Flags bei SCREENRES. Jedes Bit steht für ein Flag und mit OR kann man sie "übereinander packen".

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
sushidelic



Anmeldungsdatum: 23.03.2014
Beiträge: 4

BeitragVerfasst am: 23.03.2014, 12:41    Titel: Antworten mit Zitat

Danke ThePuppetMaster,

das lößt auch das Problem und nun funzt es ... PSET, warum steht das in keinem der Beispiele und Tutorials? lächeln

THX
sushi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 23.03.2014, 12:43    Titel: Antworten mit Zitat

Keine Ahnung, aber in der Referenz wird es spezifiziert ...

DE: http://www.freebasic-portal.de/befehlsreferenz/put-grafik-497.html
EN: http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgPutgraphics

"Wenn kein schlüsselwort angegeben wird, ist der 'Standard' ein XOR schlüsselwort"


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sushidelic



Anmeldungsdatum: 23.03.2014
Beiträge: 4

BeitragVerfasst am: 23.03.2014, 12:48    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:


Code:
Syntax:
SCREENRES (Breite, Höhe[, [Farbtiefe][, [Seitenzahl][, [Flags][, Bildwiederholrate]]]])


Wahrscheinlich wolltest du stattdessen die Flags &H1 (Vollbild) und &H40 (GFX_ALPHA_PRIMITIVES) zusammen als Flag kombiniert angeben oder?


Richtig Angenommen lächeln

Code:
&H1 or &H40


habe ich mir fast schon gedacht, das da meine angabe nicht ganz richtig sein könnte, danke für den hinweiss und die Erläuterung, nun bin ich schlauer lächeln

thx ~s~
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sushidelic



Anmeldungsdatum: 23.03.2014
Beiträge: 4

BeitragVerfasst am: 23.03.2014, 12:52    Titel: Antworten mit Zitat

ThePuppetMaster hat Folgendes geschrieben:

"Wenn kein schlüsselwort angegeben wird, ist der 'Standard' ein XOR schlüsselwort"


Damit hätte ich zum beispiel nicht gerechnet, das Standardmäßig anders gehandelt wird als was ich erwartet hätte Zunge rausstrecken

Thx sushidelic

ps. hummm, nach PUT selber habe ich wohl nicht geschaut sondern in den Tutorials, aber selbst wenn wäre mir wohl die Beschreibung da nicht gleich klar geworden.
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 -> 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