libvips/libvips/include/vips/resample.h

124 lines
3.1 KiB
C
Raw Permalink Normal View History

2009-11-03 20:03:47 +01:00
/* 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
2009-11-03 20:03:47 +01:00
*/
/*
These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
*/
2012-12-14 13:33:47 +01:00
#ifndef VIPS_RESAMPLE_H
#define VIPS_RESAMPLE_H
2009-11-03 20:03:47 +01:00
#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;
2017-01-06 14:43:43 +01:00
typedef enum {
VIPS_SIZE_BOTH,
VIPS_SIZE_UP,
VIPS_SIZE_DOWN,
VIPS_SIZE_FORCE,
2017-01-06 14:43:43 +01:00
VIPS_SIZE_LAST
} VipsSize;
VIPS_API
2012-06-15 15:21:33 +02:00
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;
2016-01-27 12:12:36 +01:00
VIPS_API
2016-01-27 12:12:36 +01:00
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
2016-11-02 12:07:30 +01:00
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
experiment with renaming stream rename as VipsConnection, VipsSource, VipsTarget etc. see https://github.com/libvips/libvips/issues/1494#issuecomment-569498619 renamed with this script: ``` set -e edit() { sed -i -E "$1" rename } for i in $*; do cp $i rename edit s/VIPS_STREAMOU/VIPS_TARGET_CUSTOM/g edit s/VIPS_STREAMO/VIPS_TARGET/g edit s/VIPS_STREAMIU/VIPS_SOURCE_CUSTOM/g edit s/VIPS_STREAMI/VIPS_SOURCE/g edit s/VIPS_STREAM/VIPS_CONNECTION/g edit s/vips_streamou/vips_target_custom/g edit s/vips_streamo/vips_target/g edit s/vips_streamiu/vips_source_custom/g edit s/vips_streami/vips_source/g edit s/vips_stream/vips_connection/g edit s/VipsStreamou/VipsTargetCustom/g edit s/VipsStreamo/VipsTarget/g edit s/VipsStreamiu/VipsSourceCustom/g edit s/VipsStreami/VipsSource/g edit s/VipsStream/VipsConnection/g # eg. VIPS_TYPE_STREAM or VIPS_IS_STREAM edit "s/VIPS_([A-Z]+)_STREAMOU/VIPS_\1_TARGET_CUSTOM/g" edit "s/VIPS_([A-Z]+)_STREAMO/VIPS_\1_TARGET/g" edit "s/VIPS_([A-Z]+)_STREAMIU/VIPS_\1_SOURCE_CUSTOM/g" edit "s/VIPS_([A-Z]+)_STREAMI/VIPS_\1_SOURCE/g" edit "s/VIPS_([A-Z]+)_STREAM/VIPS_\1_CONNECTION/g" edit s/streamou/target_custom/g edit s/streamo/target/g edit s/streamiu/source_custom/g edit s/streami/source/g # various identifiers which also change edit s/is_a_stream/is_a_source/g edit s/find_load_stream/find_load_source/g edit s/find_save_stream/find_save_target/g edit s/new_from_stream/new_from_source/g edit s/write_to_stream/write_to_target/g edit s/vips_thumbnail_stream/vips_thumbnail_source/g # eg. vips_webpload_stream edit "s/vips_([a-z]+)load_stream/vips_\1load_source/g" # eg. vips_webpsave_stream edit "s/vips_([a-z]+)save_stream/vips_\1save_target/g" mv rename $i done ```
2019-12-29 22:40:21 +01:00
int vips_thumbnail_source( VipsSource *source, VipsImage **out,
int width, ... )
G_GNUC_NULL_TERMINATED;
2016-11-02 12:07:30 +01:00
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
2012-12-14 13:33:47 +01:00
int vips_affine( VipsImage *in, VipsImage **out,
double a, double b, double c, double d, ... )
G_GNUC_NULL_TERMINATED;
2012-06-13 10:31:05 +02:00
VIPS_API
int vips_resize( VipsImage *in, VipsImage **out, double scale, ... )
G_GNUC_NULL_TERMINATED;
VIPS_API
2015-11-16 21:32:48 +01:00
int vips_mapim( VipsImage *in, VipsImage **out, VipsImage *index, ... )
G_GNUC_NULL_TERMINATED;
2015-11-16 12:08:10 +01:00
VIPS_API
2012-12-18 14:43:46 +01:00
int vips_quadratic( VipsImage *in, VipsImage **out, VipsImage *coeff, ... )
G_GNUC_NULL_TERMINATED;
2012-12-18 14:43:46 +01:00
2009-11-03 20:03:47 +01:00
#ifdef __cplusplus
}
#endif /*__cplusplus*/
2012-12-14 13:33:47 +01:00
#endif /*VIPS_RESAMPLE_H*/