|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
noop
Anmeldungsdatum: 04.05.2005 Beiträge: 259
|
Verfasst am: 17.09.2005, 22:06 Titel: bsave unter 100*100 nicht möglich? |
|
|
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 |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 17.09.2005, 22:39 Titel: |
|
|
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 |
|
|
noop
Anmeldungsdatum: 04.05.2005 Beiträge: 259
|
Verfasst am: 20.09.2005, 15:56 Titel: |
|
|
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 |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 23.09.2005, 16:00 Titel: |
|
|
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 |
|
|
|
|
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.
|
|