• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme

    Aufgabe 7: Anwendung

    Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
    PNG Class Reference

    Portable Network Graphics file format. More...

    #include <utils/png.h>

    Public Types

    enum  error {
      PNG_EOK = 0 ,
      PNG_ENOMEM = 1 ,
      PNG_ENOTFOUND = 2 ,
      PNG_ENOTPNG = 3 ,
      PNG_EMALFORMED = 4 ,
      PNG_EUNSUPPORTED = 5 ,
      PNG_EUNINTERLACED = 6 ,
      PNG_EUNFORMAT = 7 ,
      PNG_EPARAM = 8 ,
      PNG_EIOERROR = 9
    }
     
    enum  format {
      BADFORMAT ,
      RGB8 ,
      RGB16 ,
      RGBA8 ,
      RGBA16 ,
      LUMINANCE1 ,
      LUMINANCE2 ,
      LUMINANCE4 ,
      LUMINANCE8 ,
      LUMINANCE_ALPHA1 ,
      LUMINANCE_ALPHA2 ,
      LUMINANCE_ALPHA4 ,
      LUMINANCE_ALPHA8
    }
     

    Public Member Functions

     PNG (const unsigned char *buffer, unsigned long size)
     Load PNG image from memory. More...
     
     PNG (const char *path)
     Load PNG image from file system. More...
     
     ~PNG ()
     Free memory reserved for PNG image.
     
    unsigned get_width () const
     Width of image (pixels)
     
    unsigned get_height () const
     Height of image (pixels)
     
    unsigned get_bpp () const
     Bits per pixel.
     
    unsigned get_bitdepth () const
     Depth of color (bits pro color channel)
     
    unsigned get_components () const
     Number of components per pixel.
     
    unsigned get_pixelsize () const
     Number of bytes per pixel.
     
    enum format get_format () const
     Retrieve the format.
     
    const unsigned char * get_buffer ()
     Image buffer address. More...
     
    unsigned get_size ()
     Size of image buffer. More...
     

    Protected Member Functions

    enum error header ()
     Extract header (image attributes)
     
    enum error decode ()
     Decode whole image.
     

    Protected Attributes

    enum error error
     
    unsigned error_line
     

    Detailed Description

    Portable Network Graphics file format.

    !

    Member Enumeration Documentation

    enum PNG::error
    Enumerator
    PNG_EOK 

    success (no error)

    PNG_ENOMEM 

    memory allocation failed

    PNG_ENOTFOUND 

    resource not found (file missing)

    PNG_ENOTPNG 

    image data does not have a PNG header

    PNG_EMALFORMED 

    image data is not a valid PNG image

    PNG_EUNSUPPORTED 

    critical PNG chunk type is not supported

    PNG_EUNINTERLACED 

    image interlacing is not supported

    PNG_EUNFORMAT 

    image color format is not supported

    PNG_EPARAM 

    invalid parameter to method call

    PNG_EIOERROR 

    Filesystem issues.

    enum PNG::format
    Enumerator
    BADFORMAT 

    Invalid format.

    RGB8 

    24bit RGB (8bit per color)

    RGB16 

    48bit RGB (16bit per color)

    RGBA8 

    32bit RGB (including alpha channel)

    RGBA16 

    64bit RGB (including alpha channel)

    LUMINANCE1 

    Monochrome (black-white)

    LUMINANCE2 

    four shades of gray (2bit gray scale)

    LUMINANCE4 

    16 shades of gray (4bit gray scale)

    LUMINANCE8 

    8bit gray scale

    LUMINANCE_ALPHA1 

    Monochrome (black-white) with alpha channel.

    LUMINANCE_ALPHA2 

    2bit gray scale with alpha channel

    LUMINANCE_ALPHA4 

    4bit gray scale with alpha channel

    LUMINANCE_ALPHA8 

    8bit gray scale with alpha channel

    Constructor & Destructor Documentation

    PNG::PNG ( const unsigned char *  buffer,
    unsigned long  size 
    )

    Load PNG image from memory.

    Parameters
    bufferpointer to memory buffer
    sizesize of memory buffer
    PNG::PNG ( const char *  path)
    explicit

    Load PNG image from file system.

    Parameters
    pathpath to file

    Member Function Documentation

    const unsigned char * PNG::get_buffer ( )
    inline

    Image buffer address.

    Returns
    Pointer to image buffer
    unsigned PNG::get_size ( )
    inline

    Size of image buffer.

    Returns
    Total size of image buffer in bytes

    The documentation for this class was generated from the following files:
    • utils/png.h
    • utils/png.cc
    Friedrich-Alexander-Universität
    Erlangen-Nürnberg

    Schlossplatz 4
    91054 Erlangen
    • Impressum
    • Datenschutz
    • Barrierefreiheit
    • Facebook
    • RSS Feed
    • Xing
    Nach oben