Tutorial
PNG-Bilder anzeigen und speichern
von Volta | Seite 4 von 5 |
Die Ploadlib
Von der Ploadlib kann man mehrere Versionen finden. Zunächst hatte ich gar nicht vor, mich mit der Ploadlib eingehender zu beschäftigen, doch sie bietet einige Merkmale, die sie sehr interessant machen.
Ich habe mir dann die "neueste" Version (03.08.2006, keine Versionsnummer) vorgenommen.
Siehe: Ploadlib-Projektthread im internationalen FB-Forum (=> Direktdownload der ploadlib hier, 40kB)
ploadlib - PNG image loader for use in FreeBASIC programs.
Copyright (C) 2006 Matt Netsch, Matthew Fearnley
Die Ploadlib unterliegt der LGPL 2.1 oder wahlweise einer späteren Version.
Wie zu erwarten waren einige Anpassungen nötig, um sie unter FreeBASIC 0.18 ohne Fehlermeldungen kompilieren zu können.
Die Ploadlib besteht erst mal aus 3 Dateien:
- ploadlib.bas
- ploadlib.bi
- idatfuncs.bas
(zusätzlich wird die zlib1.dll Version 1.23 oder die statische libz.a benötigt)
(zlib code: Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler)
Aus der ploadlib.bas kann man die libploadlib.a erstellen, dann wird sie mit
#include "ploadlib.bi"
eingebunden.
Es ist aber auch möglich, mit
#include "ploadlib.bas"
die Datei direkt in das eigene Programm einzubinden.
In der Ploadlib sind 3 Funktionen definiert:
Enum PLOAD_ERR
PLOAD_NOERROR = 0 'No Error
PLOAD_INVALIDSIG '7 byte Signature Check Failed
PLOAD_FILECORRUPTED 'Cyclic Redundancy Check Failed
PLOAD_INVALIDCHUNKS 'Chunks could be in improper order, invalid sigs, critical
'chunks not recognized, missing required critical chunks
PLOAD_INVALIDHEADER 'IDHR chunk unsupported according to specification
PLOAD_INVALID_IDATSTREAM 'Most likely the IDAT stream [zstream] is corrupt and
'zlib spit back an error
PLOAD_RENDERINGFAILED 'Current Screendepth is not 24 or 32, ImageCreate Failed,
'or PLTE chunk is invalid
PLOAD_FILEOPENED_FAILED 'PLOAD() Failed when opening file
PLOAD_MISCERROR 'Error trapped by ON ERROR
End Enum
Declare Function Pload(Byval SourceFile As String) As Any Ptr
Declare Function MPload(ByVal PNGData as Any Ptr, ByVal PNGLen as UInteger) As Any Ptr
Declare Function Pload_GetError() As PLOAD_ERR 'Gets Last Pload Error
Der Funktionsname Pload wurde äquivalent zur Bload - Funktion gewählt.
Die Ploadlib bietet nur Funktionen zum laden einer PNG - Grafik.
Die Funktionen Pload und MPload sind so angelegt, dass sie mit den Image-Befehlen von FreeBASIC arbeiten.
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|