Tutorial
JPEG Dateien anzeigen mit jpeg4fb
von Volta | Seite 2 von 2 |
JPEG loader by Antoni Gual, Adapted to FB0.17 by Luke Landriaut
Anzeigen einer JPG - Grafik mit jpeg2screen.
#include "jpeg4fb.bas"
Screen 19, 32
jpeg2screen( "Volta.jpg" )
If jpegerr Then Print printerror
sleep
Einfacher geht es nicht mehr! Mit jpeg2screen("Volta.jpg",X,Y) kann die Grafik auch auf dem Screen positioniert werden.
Laden und anzeigen einer JPG - Grafik mit jpegget.
#include "jpeg4fb.bas"
Screen 19, 32
Dim As Any Ptr bild = jpegget("Flieger.jpg")
If jpegerr Then Print printerror : Sleep : End
Put (20, 40), bild, Pset
If bild <> 0 Then Imagedestroy bild
Sleep
Die Funktion gibt eine Adresse auf das Image zurück, im Fehlerfall ist jpegerr<>0 und über die Funktion printerror kann der Fehlertext angezeigt werden.
Das erstellte Image ist immer ein 32Bit - Format mit dem neuen ImageHeader.
Laden und anzeigen einer JPG - Grafik mit jpeggetmem.
Die Funktion jpeggetmem läd eine JPG - Grafik aus dem Speicherbereich in ein Image, wie hier schon bei der FBpng beschrieben.
Dim As Any Ptr StartFile 'Pointer für den Anfang des Files
Dim As Uinteger LenFile 'Variable für die Länge des Files
Asm
.balign 16
jmp START_OF_PROG 'springe zum Label START_OF_PROG
.balign 4
START_OF_FILE: 'ab hier beginnt die eingebundene Datei
.incbin "./Flieger.jpg"
END_OF_FILE: 'hier endet die eingebundene Datei
.balign 16
START_OF_PROG:
lea ebx, START_OF_FILE 'Lade die Adresse des Label START_OF_FILE nach ebx
mov dword Ptr [StartFile], ebx 'Speicher die Adresse im Pointer StartFile
lea eax, END_OF_FILE 'Lade die Adresse des Label END_OF_FILE nach eax
Sub eax, ebx 'berechne eax - ebx = Länge des Files
mov dword Ptr [LenFile], eax 'Speicher die Länge des Files in der Variablen LenFile
End Asm
#include "jpeg4fb.bas" 'die jpeg4fb.bas wird in unser Programm eingebunden.
Screen 19, 32 'erstellt ein Grafikfenster
Dim As Any Ptr img 'Pointer (Zeiger) auf das Image definieren
'die jpeggetmem - Funktion benötigt
'einen Pointer auf den Anfang der Datei und die Dateilänge
img = jpeggetmem(StartFile, LenFile)
If img <> 0 Then 'wurde dem Pointer eine Adresse mitgegeben?
Put( 20, 20 ), img, Pset 'ja, dann das Bild anzeigen
Locate 27,1
Print "Breite : "; Cast( Integer Ptr, img)[2]; " Pixel"
Print "Hoehe : "; Cast( Integer Ptr, img)[3]; " Pixel"
Imagedestroy img 'den belegten Speicherbereich freigeben
Else
If jpegerr Then Print printerror
Print "Fehler beim laden der JPG-Grafik!
End If
Sleep
Viel Spaß damit
Volta
Gehe zu Seite 1 2
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|