Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

PNG-Bilder anzeigen und speichern

von RedakteurVoltaSeite 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: Externer Link!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:

(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.

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  5  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 19.09.2007 von RedakteurVolta angelegt.
  • Die aktuellste Version wurde am 11.12.2013 von RedakteurSt_W gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen