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:

Bild wird nicht angezeigt, warum?

 
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
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 18.05.2010, 21:39    Titel: Bild wird nicht angezeigt, warum? Antworten mit Zitat

Also ich habe folgendes Problem:
Ich habe ein Bild mit 'Imagecreate' und 'Line' erstellt. Dieses Bild will ich mit 'Put' und 'Alpha' anzeigen. Allerdings klappt das nicht, aber warum? Das Bild wird einfach nicht angezeigt. Das ist der Code:
Code:
#include "source/ploadlib.bas"

declare sub loadmod()
declare sub start()
declare sub machbild()

dim shared as string path,taste
dim shared as integer fs2
dim shared as any ptr back1,taskleiste
taskleiste=Imagecreate(798,30)
line taskleiste,(0,0)-(798,25),&hbbbbbb,BF
'back1=Pload("Treehouse/fsys/backgrounds/Genesis.png")

loadmod()
start()

do
   taste=inkey
   machbild()
   sleep 2
loop until taste=Chr(27)
end

sub loadmod()
   dim as integer modl=freefile
   open "mod.txt" for input as #modl
      line input #modl, path
   close #modl
end sub

sub start()
Windowtitle "Fullscreen?"
Screenres 200,200
Print "Fullscreen?[Y/N]"
do
taste=inkey
loop until taste="y" or taste="n"
if taste="y" then
fs2=1
elseif taste="n" then
fs2=0
end if
Windowtitle "Treehouse - Hackingsimulation"
Screenres 800,600,32,,fs2
Setmouse 0,0,0
end sub

sub machbild()
screenlock
   cls
   'put (0,0),back1
   'put (1,573),taskleiste,alpha,180
   bload(path+"/fsys/backgrounds/Genesis.bmp")
   put (1,573),taskleiste,alpha,180'<-- Hier sollte das Bild angezeigt werden
screenunlock
end sub


Weiß jemand Rat?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
funkeld
gesperrt


Anmeldungsdatum: 10.10.2009
Beiträge: 179

BeitragVerfasst am: 18.05.2010, 22:01    Titel: Antworten mit Zitat

Versuch das einmal.

Img = Imagecreate(64, 64, RGBA(64, 160, 0, 255))
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 565
Wohnort: Jüterbog

BeitragVerfasst am: 18.05.2010, 22:14    Titel: Antworten mit Zitat

ein image kann erst dann erfolgreich erzeut werden wenn auch ein grafik-screen existiert.

siehe imagecreate in der referenz
Zitat:

IMAGECREATE gibt, ähnlich wie ALLOCATE, einen Pointer auf den reservierten Speicherbereich zurück und funktioniert nur, wenn bereits ein Grafikmodus mit SCREEN (Anweisung) oder SCREENRES initiiert wurde. Falls IMAGECREATE fehlschlägt, ist das Ergebnis 0.
Bildpuffer, die Sie mit IMAGECREATE erstellt haben, müssen mit IMAGEDESTROY entfernt werden, sobald sie nicht mehr benötigt werden, um den Speicherplatz freizugeben; diese Speicherfreigabe wird nicht automatisch erledigt!


ich denke mal, darin liegt der fehler, beim aufruf gibt es einfach noch keinen screen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 19.05.2010, 16:17    Titel: Antworten mit Zitat

Danke, es lag daran das der Screen noch nicht gesetzt war. War schon am verzweifeln. grinsen
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