libvips/libvips/include/vips/resample.h

124 lines
3.1 KiB
C

/* resample.h
*
* 20/9/09
* - from proto.h
*/
/*
This file is part of VIPS.
VIPS is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
*/
/*
These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
*/
#ifndef VIPS_RESAMPLE_H
#define VIPS_RESAMPLE_H
#ifdef __cplusplus
extern "C" {
#endif /*__cplusplus*/
typedef enum {
VIPS_KERNEL_NEAREST,
VIPS_KERNEL_LINEAR,
VIPS_KERNEL_CUBIC,
VIPS_KERNEL_MITCHELL,
VIPS_KERNEL_LANCZOS2,
VIPS_KERNEL_LANCZOS3,
VIPS_KERNEL_LAST
} VipsKernel;
typedef enum {
VIPS_SIZE_BOTH,
VIPS_SIZE_UP,
VIPS_SIZE_DOWN,
VIPS_SIZE_FORCE,
VIPS_SIZE_LAST
} VipsSize;
VIPS_API
int vips_shrink( VipsImage *in, VipsImage **out,
double hshrink, double vshrink, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_shrinkh( VipsImage *in, VipsImage **out, int hshrink, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_shrinkv( VipsImage *in, VipsImage **out, int vshrink, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_reduce( VipsImage *in, VipsImage **out,
double hshrink, double vshrink, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_reduceh( VipsImage *in, VipsImage **out, double hshrink, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_reducev( VipsImage *in, VipsImage **out, double vshrink, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail( const char *filename, VipsImage **out, int width, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail_buffer( void *buf, size_t len, VipsImage **out,
int width, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail_image( VipsImage *in, VipsImage **out, int width, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_thumbnail_source( VipsSource *source, VipsImage **out,
int width, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_similarity( VipsImage *in, VipsImage **out, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_rotate( VipsImage *in, VipsImage **out, double angle, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_affine( VipsImage *in, VipsImage **out,
double a, double b, double c, double d, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_resize( VipsImage *in, VipsImage **out, double scale, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_mapim( VipsImage *in, VipsImage **out, VipsImage *index, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
int vips_quadratic( VipsImage *in, VipsImage **out, VipsImage *coeff, ... )
G_GNUC_NULL_TERMINATED;
#ifdef __cplusplus
}
#endif /*__cplusplus*/
#endif /*VIPS_RESAMPLE_H*/