HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
(rotate: arbitrary rotation)

Functions

ImageBuf OIIO_API ImageBufAlgo::rotate (const ImageBuf &src, float angle, string_view filtername=string_view(), float filterwidth=0.0f, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 
ImageBuf OIIO_API ImageBufAlgo::rotate (const ImageBuf &src, float angle, Filter2D *filter, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 
ImageBuf OIIO_API ImageBufAlgo::rotate (const ImageBuf &src, float angle, float center_x, float center_y, string_view filtername=string_view(), float filterwidth=0.0f, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 
ImageBuf OIIO_API ImageBufAlgo::rotate (const ImageBuf &src, float angle, float center_x, float center_y, Filter2D *filter, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::rotate (ImageBuf &dst, const ImageBuf &src, float angle, string_view filtername=string_view(), float filterwidth=0.0f, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::rotate (ImageBuf &dst, const ImageBuf &src, float angle, Filter2D *filter, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::rotate (ImageBuf &dst, const ImageBuf &src, float angle, float center_x, float center_y, string_view filtername=string_view(), float filterwidth=0.0f, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::rotate (ImageBuf &dst, const ImageBuf &src, float angle, float center_x, float center_y, Filter2D *filter, bool recompute_roi=false, ROI roi={}, int nthreads=0)
 

Detailed Description

Rotate the src image by the angle (in radians, with positive angles clockwise). When center_x and center_y are supplied, they denote the center of rotation; in their absence, the rotation will be about the center of the image's display window.

Only the pixels (and channels) of dst that are specified by roi will be copied from the rotated src; the default roi is to alter all the pixels in dst. If dst is uninitialized, it will be resized to be an ImageBuf large enough to hold the rotated image if recompute_roi is true, or will have the same ROI as src if recompute_roi is false. It is an error to pass both an uninitialized dst and an undefined roi.

The filter is used to weight the src pixels falling underneath it for each dst pixel. The caller may specify a reconstruction filter by name and width (expressed in pixels units of the dst image), or rotate() will choose a reasonable default high-quality default filter (lanczos3) if the empty string is passed, and a reasonable filter width if filterwidth is 0. (Note that some filter choices only make sense with particular width, in which case this filterwidth parameter may be ignored.)

Function Documentation

ImageBuf OIIO_API ImageBufAlgo::rotate ( const ImageBuf src,
float  angle,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)
ImageBuf OIIO_API ImageBufAlgo::rotate ( const ImageBuf src,
float  angle,
Filter2D filter,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)
ImageBuf OIIO_API ImageBufAlgo::rotate ( const ImageBuf src,
float  angle,
float  center_x,
float  center_y,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)
ImageBuf OIIO_API ImageBufAlgo::rotate ( const ImageBuf src,
float  angle,
float  center_x,
float  center_y,
Filter2D filter,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::rotate ( ImageBuf dst,
const ImageBuf src,
float  angle,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::rotate ( ImageBuf dst,
const ImageBuf src,
float  angle,
Filter2D filter,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::rotate ( ImageBuf dst,
const ImageBuf src,
float  angle,
float  center_x,
float  center_y,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::rotate ( ImageBuf dst,
const ImageBuf src,
float  angle,
float  center_x,
float  center_y,
Filter2D filter,
bool  recompute_roi = false,
ROI  roi = {},
int  nthreads = 0 
)