gluScaleImage: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K ()
K (Bot: konvertiere/korrigiere <BR>)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= gluScaleImage =
 
= gluScaleImage =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''gluScaleImage''' - Skaliert ein Bild auf eine beliebige Größe.
 
'''gluScaleImage''' - Skaliert ein Bild auf eine beliebige Größe.
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 
  function '''gluScaleImage'''(''format'' : glEnum; ''widthin'', ''heightin'' : glInt; ''typein'' : glEnum;  
 
  function '''gluScaleImage'''(''format'' : glEnum; ''widthin'', ''heightin'' : glInt; ''typein'' : glEnum;  
Zeile 11: Zeile 13:
 
                               ''dataout'' : Pointer) : glInt;
 
                               ''dataout'' : Pointer) : glInt;
  
<br>
+
 
 +
 
  
 
== Parameter ==
 
== Parameter ==
Zeile 38: Zeile 41:
 
|}
 
|}
  
<br>
+
 
 +
 
 
== Beschreibung ==  
 
== 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).
+
'''gluScaleImage''' skaliert (verkleinert/vergrößert) Bilddaten auf die angegebene Größe. Dabei wird der aktuelle "Pixel Store Modus" (siehe [[glPixelStore]]) verwendet um Daten aus der Quelldatei zu entpacken und in die Zieldatei zu schreiben.
 +
 
 +
Für die Verkleinerung von Bilddaten wird 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
 
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>
+
 
 +
Für nähere Informationen zu den Parameternwerten von ''format'', ''typein'', und ''typeout'' siehe [[glReadPixels]].
 +
 
 +
 
 +
 
 +
 
 
== Rückgabewerte ==
 
== Rückgabewerte ==
 
Im '''Erfolgsfall''' wird 0 zurückgegeben.
 
Im '''Erfolgsfall''' wird 0 zurückgegeben.
Zeile 49: Zeile 60:
 
Im '''Fehlerfall''' ist der Rückgabewert ein GLU Fehlercode (siehe [[gluErrorString]]).
 
Im '''Fehlerfall''' ist der Rückgabewert ein GLU Fehlercode (siehe [[gluErrorString]]).
  
<br>
+
 
 +
 
 
== Siehe auch ==
 
== Siehe auch ==
 
[[glDrawPixels]], [[glReadPixels]], [[gluBuild1DMipmaps]], [[gluBuild2DMipmaps]], [[gluErrorString]]  
 
[[glDrawPixels]], [[glReadPixels]], [[gluBuild1DMipmaps]], [[gluBuild2DMipmaps]], [[gluErrorString]]  
  
 
[[Kategorie:GLU|ScaleImage]]
 
[[Kategorie:GLU|ScaleImage]]

Aktuelle Version vom 22. April 2006, 19:26 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.


Beschreibung

gluScaleImage skaliert (verkleinert/vergrößert) Bilddaten auf die angegebene Größe. Dabei wird der aktuelle "Pixel Store Modus" (siehe glPixelStore) verwendet um Daten aus der Quelldatei zu entpacken und in die Zieldatei zu schreiben.

Für die Verkleinerung von Bilddaten wird 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


Für nähere Informationen zu den Parameternwerten von format, typein, und typeout siehe glReadPixels.



Rückgabewerte

Im Erfolgsfall wird 0 zurückgegeben.

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


Siehe auch

glDrawPixels, glReadPixels, gluBuild1DMipmaps, gluBuild2DMipmaps, gluErrorString