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:

bsave unter 100*100 nicht möglich?

 
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
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 17.09.2005, 22:06    Titel: bsave unter 100*100 nicht möglich? Antworten mit Zitat

Hallo
Wenn ich ein Bild mit BLOAD lade und dann mit BSAVE abspeicher funzt das nur wenn es mind. 100*100 groß ist.
Ist das normal?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 17.09.2005, 22:39    Titel: Antworten mit Zitat

Ein paar Fragen:

- Speicherst du als BMP oder als Binary?
- Welche Version von FB benutzt du?
- Welchen Bildpuffer verwendest du - Array oder ImageCreate-Pointer?


Ich hab das ganze mal schnell auf IC-Pointer getestet:
Code:
Screen 13

Dim As Any Ptr save, load ' zwei Pointer erstellen

save = ImageCreate(50, 50, 1) ' Puffer1: Blaues Quadrat, 50x50
load = ImageCreate(50, 50, 2) ' Puffer2: Grünes Quadrat, 50x50

Bsave "Test.bsv", save, 50 * 50 + 4 ' Größe des Puffers berechnen
Bload "Test.bsv", load ' Puffer2 wird überschrieben

Put (1, 1), lmg ' Puffer2 anzeigen: ein BLAUES Quadrat

Sleep


Bei mir funzt das wunderbar; ich verwende v0.15b.
Wenn du die Erweiterung ".bsv" durch ".bmp" ersetzt, sollte es auch funzen (bei mir haut's hin.)

Und mit Arrays:
Code:
Dim As UByte save(2504), load(2504) ' Zwei Puffer erstellen

Screen 13

Paint (0, 0), 1 ' Bildschirm Blau färben
Get (0, 0)-(49, 49), save   ' 50x50-Quadrat einlesen

BSave "Test.bsv", @save(0), 2504  '2504 = 50 * 50 + 4
Bload "Test.bsv", @load(0)

Cls  ' Bildschirm leeren

Put (5, 5), load

Sleep

_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 20.09.2005, 15:56    Titel: Antworten mit Zitat

Hi
Danke erstmal. Werd das gleich mal ausprobieren. Ich hab Version 0.14 und es so geamcht:
Code:

SCREEN 19,32
DIM B AS ANY PTR
B=IMAGECREATE(50,50)
BLOAD "C:\TEST.BMP",B
BSAVE "C:\T.BMP",B

Und dann kann der Windowsbildbetrachter mir das abespeicherte Bild nicht anzeigen. Unter Paint sind es nur Farbstreifen(Pink,GRün,...).
noop
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 23.09.2005, 16:00    Titel: Antworten mit Zitat

liegt evtl. daran, dass du keine Größe angibst. Da du einen 32bit-Modus verwendest müssten die letzte Zeile lauten:
Code:
BSAVE "T.BMP", B, 4 * 50 * 50 + 4

bzw:
Code:
BSAVE "T.BMP", B, 10004


kann aber auch daran liegen, dass es in v0.14 noch Probleme mit 32Bit-BMPs gab. In der neuen Version (0.15b) sind diese - soweit ich weiß - beseitigt; du kannst allerdings auch auf die offizielle Version von v0.15 warten, die - geht man von der Dauer für die letzten Versionen aus - wohl Ende diesen Monats kommen wird. (Verbessert mich, wenn ich mich irre)
Wenn du's mit der Betaversion versuchen willst (sehr empfehlenswert, mir sind noch keine Bugs aufgefallen), kannst du sie hier runterladen:

http://sourceforge.net/projects/fbc/

Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
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