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 in FB anzeigen
Gehe zu Seite 1, 2  Weiter
 
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
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 28.08.2005, 16:15    Titel: bild in FB anzeigen Antworten mit Zitat

warum geht dieser code nicht?

Code:
DECLARE SUB BildAnzeigen(Pfad AS STRING,Breite AS INTEGER,Hoehe AS INTEGER, X AS INTEGER, Y AS INTEGER, Farbtiefe AS INTEGER)

SCREEN 20 

CALL BildAnzeigen ("aaa.bmp",128,128,100,100,24)




SYSTEM

SUB BildAnzeigen (Pfad AS STRING,Breite AS INTEGER,Hoehe AS INTEGER, X AS INTEGER, Y AS INTEGER, Farbtiefe AS INTEGER)
    DateiGroesse = (X * Y * (2^Farbtiefe))
    DIM Bild(DateiGroesse) AS UBYTE
    BLOAD Pfad, VARPTR(bild(0))
    PUT (X,Y), bild,PSET
END SUB


wenn ich das starte kommt:

WindowsXP hat Folgendes geschrieben:
fbidetemp.exe hat ein Problem festgestellt und muss beendet werden.

kann mir einer sagen was falsch ist?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 28.08.2005, 16:41    Titel: Antworten mit Zitat

Hallo.

Die Koordinaten spielen für den Speicherbedarf eines Bildes keine Rolle. Das bedeutet, X*Y*.. ist unerheblich. Wenn schon Breite*Hoehe*... Außerdem darfst du bei Farbtiefe nicht 24 für 24Bit übergeben, sondern nur 3 (24/8=3). Ansonsten werden deine Bilder leicht einige Terrabytes groß. durchgeknallt Ob das ^ stimmt, kann ich dir nicht genau sagen,aber ich würd eher ein einfaches * nehmen, also Groesse#=Hoehe%*Breite%*Farbtiefe%, ergäbe bei einem 24Bit 600x600 Pixel Bild ein knappes MB.

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
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 28.08.2005, 18:47    Titel: Antworten mit Zitat

Hallo.

Ab version 0.14 gibt es eine function, die einiges an Arbeit abnimmt. Anstatt dim bild(hoehe*breite.... einfach:

Code:

dim bild as any ptr
bild = IMAGECREATE(hoehe,breite)
BLOAD "D:\test.bmp",bild
put x,y,bild,pset


vieeel einfacher als dein code.

Mfg
Michael
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

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

Aber nachher noch imagedestroy anwenden, um den Speicher wieder freizugeben.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 28.08.2005, 19:18    Titel: Antworten mit Zitat

Oh. Gut das du das sagst. Hab garnicht mehr daran gedacht, dass es die function gibt. Ich hab mich schon gewundert, dass ein Prog von mir(nachmache von icq, noch nicht fertig) nach einiger zeit so ca. 100mb Arbeitsspeicher braucht. mit dem Kopf durch die Mauer wollen
danke, dass du mich darauf aufmerksam gemacht hast.

Mfg
Michael
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 28.08.2005, 19:36    Titel: Antworten mit Zitat

danke für all eure antworten.

werd eure tips mal ausprobieren und wenns nicht funktioniert schreib ich wieder hier rein.

mfg OdinX
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 28.08.2005, 20:12    Titel: Antworten mit Zitat

@anfänger: Kein Problem lächeln

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 28.08.2005, 20:17    Titel: Antworten mit Zitat

Habe Version 0.13 installiert gehabt.

Jetzt hab ich 0.14 gedownloadet, entzippt und alle Dateien in meinem Freebasic verzeichnis durch die gerade entzippten ersetzt.

Diese neuen Funktionen die ich jetzt haben sollte funzen aber trotzdem nicht. traurig

hab ich irgend ein fehler bei der installation gemacht? oder was ist da los?

danke im voraus

OdinX
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 28.08.2005, 20:34    Titel: Antworten mit Zitat

Ich mach das ganze so (funzt ab Version 0.14)

Code:
DIM image(307204) AS UBYTE
SCREEN 18
BLOAD "bild.bmp", VARPTR(image(0))
put(1,1),image


Sollte allerdings ne 256 Farben BMP sein.
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 28.08.2005, 20:42    Titel: Antworten mit Zitat

Achtung: Immer erst den Krempel von der alten Version komplett löschen (alles außer deine Programme) und dann die neue Version drüber und dann artig die Installationsbatchdatei ausführen. zwinkern
_________________

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
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 28.08.2005, 20:47    Titel: Antworten mit Zitat

@ dk: Aber mit IMAGECREATE kann man auch mit den Drawing Primitives auf das Feld zugreifen, was bei deiner
Methode wohl eher nicht geht.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 30.08.2005, 14:29    Titel: Antworten mit Zitat

habs jetzt mal versucht und es geht immer noch nicht.

hab die dateien von v0.14 gedownloadet, die alten dateien gelöscht, die neuen hereinkopiert und die installationsbatchdatei ausgeführt.

IMAGECREATE & IMAGEDESTROY erkennt er aber trotzdem nicht. weinen

wie kann das sein.

Code:
DECLARE SUB BildAnzeigen(Pfad AS STRING,Breite AS INTEGER,Hoehe AS INTEGER, X AS INTEGER, Y AS INTEGER)

SCREEN 20 


CALL BildAnzeigen ("aaa.bmp",128,128,100,100)




SYSTEM

SUB BildAnzeigen (Pfad AS STRING,Breite AS INTEGER,Hoehe AS INTEGER, X AS INTEGER, Y AS INTEGER)
    DIM Bild AS ANY PTR
    Bild = IMAGECREATE(Hoehe, Breite)
    BLOAD Pfad, Bild
    PUT (X,Y), Bild,PSET
    IMAGEDESTROY
END SUB
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 31.08.2005, 15:31    Titel: Antworten mit Zitat

Putz doch noch mal alles von FB runter, und installiere alles nochmal.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 31.08.2005, 21:19    Titel: Antworten mit Zitat

hab ich schon drei mal gemacht durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Quark48



Anmeldungsdatum: 16.10.2004
Beiträge: 559
Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern

BeitragVerfasst am: 31.08.2005, 21:24    Titel: Antworten mit Zitat

Hallöle!
Ich würd halt einfach
Code:
IMAGEDESTROY image(307204)

schreiben rofl - klar dass es nicht geht. Die Funktion muss ja wissen, was sie löschen soll happy
_________________
Grüßle, Stefan lächeln
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht! happy
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 31.08.2005, 22:27    Titel: Antworten mit Zitat

Schaut doch mal in die Befehlsreferenz. Da gibt's doch sogar einen fertigen Beispielcode für das Problem mit IMAGECREATE und IMAGEDESTROY:
Link zu einer streng geheimen und scheinbar unbekannten Homepage
durchgeknallt
_________________

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
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 01.09.2005, 13:26    Titel: Antworten mit Zitat

grinsen Jipiiiiii!!! Es gibt keinen Error mehr.

aber anstatt dem Bild wird Ein schwarzes Quadrat angezeigt. durchgeknallt

weiss noch einer wie ich das behebe?
dannl hätt ich das ganze endlich hinter mir
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Quark48



Anmeldungsdatum: 16.10.2004
Beiträge: 559
Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern

BeitragVerfasst am: 01.09.2005, 13:30    Titel: Antworten mit Zitat

Hmm... Also wenn du bei der Bilddateiangabe im Programm z.B. einfach "Bild.bmp" schreibst, lädt er das Bild nur, wenn es im gleichen Ordner wie das Programm ist.
_________________
Grüßle, Stefan lächeln
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht! happy
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 01.09.2005, 14:28    Titel: Antworten mit Zitat

Hallo.
Kann auch daran liegen:

Code:
screen 20

durch
Code:
screen 20,32

ersetzen. Dann biste im 32bit Farbmodus. Sont evtl nur im 16/8 bit?

Mfg
Michael
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Bernd



Anmeldungsdatum: 14.09.2004
Beiträge: 498
Wohnort: Kulmbach

BeitragVerfasst am: 01.09.2005, 14:39    Titel: Antworten mit Zitat

Hm, des hat FB öfters, oft hilft einfach ein neustart der IDE, aber frag mich ned warum *g*
_________________
Neue Homepage: http://www.glubb.rockt.de

UND

Der Wahnsinn hat seine eigene Homepage: http://pulmollwand.rulz.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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