NAME
gluScaleImage
- scale an image to an arbitrary size
C SPECIFICATION
GLint gglluuSSccaalleeIImmaaggee(
GLenum _f_o_r_m_a_t,
GLsizei _w_I_n,
GLsizei _h_I_n,
GLenum _t_y_p_e_I_n,
const void _*_d_a_t_a_I_n,
GLsizei _w_O_u_t,
GLsizei _h_O_u_t,
GLenum _t_y_p_e_O_u_t,
GLvoid* _d_a_t_a_O_u_t )
delim $$
PARAMETERS
-
_f_o_r_m_a_t
-
Specifies the of the pixel data.
The following symbolic values are valid:
GGLL__CCOOLLOORR__IINNDDEEXX,
GGLL__SSTTEENNCCIILL__IINNDDEEXX,
GGLL__DDEEPPTTHH__CCOOMMPPOONNEENNTT,
GGLL__RREEDD,
GGLL__GGRREEEENN,
GGLL__BBLLUUEE,
GGLL__AALLPPHHAA,
GGLL__RRGGBB,
GGLL__RRGGBBAA,
GGLL__BBGGRR,
GGLL__BBGGRRAA,
GGLL__LLUUMMIINNAANNCCEE, and
GGLL__LLUUMMIINNAANNCCEE__AALLPPHHAA.
-
_w_I_n, _h_I_n
-
Specify in pixels the width and height, respectively, of the source image.
-
_t_y_p_e_I_n
-
Specifies the data type for _d_a_t_a_I_n. Must be one of
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE,
GGLL__BBYYTTEE,
GGLL__BBIITTMMAAPP,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT,
GGLL__SSHHOORRTT,
GGLL__UUNNSSIIGGNNEEDD__IINNTT,
GGLL__IINNTT,
GGLL__FFLLOOAATT,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__33__33__22,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__22__33__33__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__55__55__11,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__11__55__55__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__1100__1100__1100__22, and
GGLL__UUNNSSIIGGNNEEDD__IINNTT__22__1100__1100__1100__RREEVV.
-
_d_a_t_a_I_n
-
Specifies a pointer to the source image.
-
_w_O_u_t, _h_O_u_t
-
Specify the width and height, respectively, in pixels of the destination image.
-
_t_y_p_e_O_u_t
-
Specifies the data type for _d_a_t_a_O_u_t. Must be one of
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE,
GGLL__BBYYTTEE,
GGLL__BBIITTMMAAPP,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT,
GGLL__SSHHOORRTT,
GGLL__UUNNSSIIGGNNEEDD__IINNTT,
GGLL__IINNTT,
GGLL__FFLLOOAATT,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__33__33__22,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__22__33__33__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__55__55__11,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__11__55__55__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__1100__1100__1100__22, or
GGLL__UUNNSSIIGGNNEEDD__IINNTT__22__1100__1100__1100__RREEVV.
-
_d_a_t_a_O_u_t
-
Specifies a pointer to the destination image.
DESCRIPTION
gglluuSSccaalleeIImmaaggee scales a pixel image using the appropriate pixel store modes to
unpack data from the source image and pack data into the destination image.
When shrinking an image, gglluuSSccaalleeIImmaaggee uses a box filter to sample the source image
and create pixels for the destination image. When magnifying an image,
the pixels from the source image are linearly interpolated to create the
destination image.
A return value of zero indicates success, otherwise a GLU error code is returned (see gglluuEErrrroorrSSttrriinngg).
See the ggllRReeaaddPPiixxeellss reference page for a description of
the acceptable values for the _f_o_r_m_a_t, _t_y_p_e_I_n, and _t_y_p_e_O_u_t parameters.
NOTES
Formats GGLL__BBGGRR, and GGLL__BBGGRRAA, and types
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__33__33__22,
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__22__33__33__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__55__55__11,
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__11__55__55__55__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88__RREEVV,
GGLL__UUNNSSIIGGNNEEDD__IINNTT__1100__1100__1100__22, and
GGLL__UUNNSSIIGGNNEEDD__IINNTT__22__1100__1100__1100__RREEVV are only available if the GL version
is 1.2 or greater.
ERRORS
GGLLUU__IINNVVAALLIIDD__VVAALLUUEE is returned if _w_I_n, _h_I_n, _w_O_u_t, or _h_O_u_t
is negative.
GGLLUU__IINNVVAALLIIDD__EENNUUMM is returned if _f_o_r_m_a_t, _t_y_p_e_I_n, or _t_y_p_e_O_u_t is not
legal.
GGLLUU__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is returned if _t_y_p_e_I_n or _t_y_p_e_O_u_t is
GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__33__33__22 or GGLL__UUNNSSIIGGNNEEDD__BBYYTTEE__22__33__33__RREEVV
and _f_o_r_m_a_t is not GGLL__RRGGBB.
GGLLUU__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is returned if _t_y_p_e_I_n or _t_y_p_e_O_u_t is
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55 or GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__66__55__RREEVV
and _f_o_r_m_a_t is not GGLL__RRGGBB.
GGLLUU__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is returned if _t_y_p_e_I_n or _t_y_p_e_O_u_t is
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44 or GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__44__44__44__44__RREEVV
and _f_o_r_m_a_t is neither GGLL__RRGGBBAA nor GGLL__BBGGRRAA.
GGLLUU__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is returned if _t_y_p_e_I_n or _t_y_p_e_O_u_t is
GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__55__55__55__11 or GGLL__UUNNSSIIGGNNEEDD__SSHHOORRTT__11__55__55__55__RREEVV
and _f_o_r_m_a_t is neither GGLL__RRGGBBAA nor GGLL__BBGGRRAA.
GGLLUU__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is returned if _t_y_p_e_I_n or _t_y_p_e_O_u_t is
GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88 or GGLL__UUNNSSIIGGNNEEDD__IINNTT__88__88__88__88__RREEVV
and _f_o_r_m_a_t is neither GGLL__RRGGBBAA nor GGLL__BBGGRRAA.
GGLLUU__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is returned if _t_y_p_e_I_n or _t_y_p_e_O_u_t is
GGLL__UUNNSSIIGGNNEEDD__IINNTT__1100__1100__1100__22 or GGLL__UUNNSSIIGGNNEEDD__IINNTT__22__1100__1100__1100__RREEVV
and _f_o_r_m_a_t is neither GGLL__RRGGBBAA nor GGLL__BBGGRRAA.
SEE ALSO
ggllDDrraawwPPiixxeellss((33GG)), ggllRReeaaddPPiixxeellss((33GG)), gglluuBBuuiilldd11DDMMiippmmaappss((33GG)), gglluuBBuuiilldd22DDMMiippmmaappss((33GG)),
gglluuBBuuiilldd33DDMMiippmmaappss((33GG)),
gglluuEErrrroorrSSttrriinngg((33GG))