gluScaleImage: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
 
Zeile 1: Zeile 1:
{{Offline}}
+
= gluScaleImage =
 +
 
 +
<br>
 +
== Name ==
 +
'''gluScaleImage''' - Skaliert ein Bild auf eine beliebige Größe.
 +
 
 +
<br>
 +
== Delphi-Spezifikation ==
 +
function '''gluScaleImage'''(''format'' : glEnum; ''widthin'', ''heightin'' : glInt; ''typein'' : glEnum;
 +
                              ''datain'' : Pointer; ''widthout'', ''heightout'' : glInt; ''typeout'' : glEnum;
 +
                              ''dataout'' : Pointer) : glInt;
 +
 
 +
<br>
 +
 
 +
== Parameter ==
 +
 
 +
{| border="1" rules="all"
 +
! ''format''
 +
| Beschreibt das Format der übergebenen Pixeldaten als symbolische Konstante. Gültig sind : '''GL_COLOR_INDEX''', '''GL_STENCIL_INDEX''', '''GL_DEPTH_COMPONENT''', '''GL_RED''', '''GL_GREEN''', '''GL_BLUE''', '''GL_ALPHA''', '''GL_RGB''', '''GL_RGBA''', '''GL_BGR_EXT''', '''GL_BGRA_EXT''', '''GL_LUMINANCE''' und '''GL_LUMINANCE_ALPHA'''.
 +
|-
 +
! ''widthin, heightin''
 +
| Breite und Höhe des Quellbildes das skaliert werden soll.
 +
|-
 +
! ''typein''
 +
| Gibt den Datentyp an in dem die Eingangsbilddaten (''datain'') vorliegen. Gültig sind : '''GL_UNSIGNED_BYTE''', '''GL_BYTE''', '''GL_BITMAP''', '''GL_UNSIGNED_SHORT''', '''GL_SHORT''', '''GL_UNSIGNED_INT''', '''GL_INT''' und '''GL_FLOAT'''.
 +
|-
 +
! ''datain''
 +
| Zeiger auf das Quellbild.
 +
|-
 +
! ''widthout, heightout''
 +
| Breite und Höhe des Zielbildes.
 +
|-
 +
! ''typeout''
 +
| Gibt den Datentyp an in dem die Ausgangsbilddaten (''dataout'') abgelegt werden. Gültig sind : '''GL_UNSIGNED_BYTE''', '''GL_BYTE''', '''GL_BITMAP''', '''GL_UNSIGNED_SHORT''', '''GL_SHORT''', '''GL_UNSIGNED_INT''', '''GL_INT''' und '''GL_FLOAT'''.
 +
|-
 +
! ''dataout''
 +
| Zeiger auf das Zielbild.
 +
|}
 +
 
 +
<br>
 +
== Rückgabewerte ==
 +
Im '''Erfolgsfall''' wird 0 zurückgegeben.
 +
 
 +
Im '''Fehlerfall''' ist der Rückgabewert ein GLU Fehlercode (siehe [[gluErrorString]]).
 +
 
 +
<br>
 +
== Beschreibung ==
 +
'''gluScaleImage''' skaliert (verkleinert/vergrößert) Bilddaten auf die angegebene Größe. Dabei wird für die Verkleinerung von Bilddaten ein Boxfilter verwendet, und für die Vergrößerung eine lineare Interpolation. Da der Boxfilter recht komplex ist, ist dieser recht zeitaufwendig (was u.a. beim Erstellen von MipMaps mit den passenden glu-Funktionen zu beobachten ist, da diese intern '''gluScaleImage''' nutzen).
 +
Bei der Skalierung von Pixeldaten werden zudem die aktuell gesetzten Pixelspeicher-Modi genutzt um die Daten aus dem Quellbild zu entpacken und in das Zielbild zu packen
 +
 
 +
<br>
 +
== Siehe auch ==
 +
[[glDrawPixels]], [[glReadPixels]], [[gluBuild1DMipmaps]], [[gluBuild2DMipmaps]], [[gluErrorString]]
 +
 
 +
[[Kategorie:GLU|ScaleImage]]

Version vom 5. September 2004, 11:54 Uhr

gluScaleImage


Name

gluScaleImage - Skaliert ein Bild auf eine beliebige Größe.


Delphi-Spezifikation

function gluScaleImage(format : glEnum; widthin, heightin : glInt; typein : glEnum; 
                             datain : Pointer; widthout, heightout : glInt; typeout : glEnum; 
                             dataout : Pointer) : glInt;


Parameter

format Beschreibt das Format der übergebenen Pixeldaten als symbolische Konstante. Gültig sind : GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_BGR_EXT, GL_BGRA_EXT, GL_LUMINANCE und GL_LUMINANCE_ALPHA.
widthin, heightin Breite und Höhe des Quellbildes das skaliert werden soll.
typein Gibt den Datentyp an in dem die Eingangsbilddaten (datain) vorliegen. Gültig sind : GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT und GL_FLOAT.
datain Zeiger auf das Quellbild.
widthout, heightout Breite und Höhe des Zielbildes.
typeout Gibt den Datentyp an in dem die Ausgangsbilddaten (dataout) abgelegt werden. Gültig sind : GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT und GL_FLOAT.
dataout Zeiger auf das Zielbild.


Rückgabewerte

Im Erfolgsfall wird 0 zurückgegeben.

Im Fehlerfall ist der Rückgabewert ein GLU Fehlercode (siehe gluErrorString).


Beschreibung

gluScaleImage skaliert (verkleinert/vergrößert) Bilddaten auf die angegebene Größe. Dabei wird für die Verkleinerung von Bilddaten ein Boxfilter verwendet, und für die Vergrößerung eine lineare Interpolation. Da der Boxfilter recht komplex ist, ist dieser recht zeitaufwendig (was u.a. beim Erstellen von MipMaps mit den passenden glu-Funktionen zu beobachten ist, da diese intern gluScaleImage nutzen). Bei der Skalierung von Pixeldaten werden zudem die aktuell gesetzten Pixelspeicher-Modi genutzt um die Daten aus dem Quellbild zu entpacken und in das Zielbild zu packen


Siehe auch

glDrawPixels, glReadPixels, gluBuild1DMipmaps, gluBuild2DMipmaps, gluErrorString