MagickCore  6.9.11
Convert, Edit, Or Compose Bitmap Images
resample.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore graphic resample methods.
17 */
18 #ifndef MAGICKCORE_RESAMPLE_H
19 #define MAGICKCORE_RESAMPLE_H
20 
21 #include "magick/cache-view.h"
22 
23 #if defined(__cplusplus) || defined(c_plusplus)
24 extern "C" {
25 #endif
26 
27 /*
28  WARNING: The order of this table must also match the order of a table
29  located in AcquireResizeFilter() in "resize.c" otherwise the users filter
30  will not match the actual filter that is setup.
31 */
32 typedef enum
33 {
65  SentinelFilter /* a count of all the filters, not a real filter */
67 
68 /*
69  Backward compatibility for the more correctly named Jinc Filter. Original
70  source of this filter is from "zoom" but it refers to a reference by Pratt,
71  who does not actualy name the filter.
72 */
73 #define BesselFilter JincFilter
74 
75 typedef struct _ResampleFilter
77 
79  ResamplePixelColor(ResampleFilter *,const double,const double,
84  const VirtualPixelMethod);
85 
89 
90 extern MagickExport void
91  ScaleResampleFilter(ResampleFilter *,const double,const double,const double,
92  const double),
93  SetResampleFilter(ResampleFilter *,const FilterTypes,const double);
94 
95 #if defined(__cplusplus) || defined(c_plusplus)
96 }
97 #endif
98 
99 #endif
_ResampleFilter::B
double B
Definition: resample.c:129
ClampUpAxes
static void ClampUpAxes(const double dux, const double dvx, const double duy, const double dvy, double *major_mag, double *minor_mag, double *major_unit_x, double *major_unit_y, double *minor_unit_x, double *minor_unit_y)
Definition: resample.c:721
WelshFilter
@ WelshFilter
Definition: resample.h:51
QuantumScale
#define QuantumScale
Definition: magick-type.h:120
MagickExport
#define MagickExport
Definition: method-attribute.h:80
_Image::debug
MagickBooleanType debug
Definition: image.h:290
_Image::filename
char filename[MaxTextExtent]
Definition: image.h:278
_Image::background_color
PixelPacket background_color
Definition: image.h:181
_ResampleFilter::Ulimit
double Ulimit
Definition: resample.c:130
ParzenFilter
@ ParzenFilter
Definition: resample.h:52
AcquireResampleFilter
MagickExport ResampleFilter * AcquireResampleFilter(const Image *, ExceptionInfo *)
CubicFilter
@ CubicFilter
Definition: resample.h:44
UndefinedFilter
@ UndefinedFilter
Definition: resample.h:34
BohmanFilter
@ BohmanFilter
Definition: resample.h:53
_MagickPixelPacket::red
MagickRealType red
Definition: pixel.h:122
KaiserFilter
@ KaiserFilter
Definition: resample.h:50
BoxFilter
@ BoxFilter
Definition: resample.h:36
magick.h
ScaleResampleFilter
MagickExport void ScaleResampleFilter(ResampleFilter *resample_filter, const double dux, const double duy, const double dvx, const double dvy)
Definition: resample.c:1050
MagickMaximumValue
#define MagickMaximumValue
Definition: magick-type.h:116
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
VirtualPixelMethod
VirtualPixelMethod
Definition: cache-view.h:28
DestroyCacheView
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
GetMagickPixelPacket
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2233
CosineFilter
@ CosineFilter
Definition: resample.h:62
HorizontalTileVirtualPixelMethod
@ HorizontalTileVirtualPixelMethod
Definition: cache-view.h:42
MitchellFilter
@ MitchellFilter
Definition: resample.h:46
_ResampleFilter::filter_lut
double filter_lut[WLUT_WIDTH]
Definition: resample.c:135
IsMagickTrue
MagickExport MagickBooleanType IsMagickTrue(const char *value)
Definition: token.c:657
RadiansToDegrees
static MagickRealType RadiansToDegrees(const MagickRealType radians)
Definition: image-private.h:58
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
GetCacheViewVirtualIndexQueue
MagickExport const IndexPacket * GetCacheViewVirtualIndexQueue(const CacheView *cache_view)
Definition: cache-view.c:638
_ResampleFilter::average_pixel
MagickPixelPacket average_pixel
Definition: resample.c:125
_ResampleFilter::filter
FilterTypes filter
Definition: resample.c:116
WhiteVirtualPixelMethod
@ WhiteVirtualPixelMethod
Definition: cache-view.h:41
AcquireResampleFilter
MagickExport ResampleFilter * AcquireResampleFilter(const Image *image, ExceptionInfo *exception)
Definition: resample.c:206
ResamplePixelColor
MagickExport MagickBooleanType ResamplePixelColor(ResampleFilter *resample_filter, const double u0, const double v0, MagickPixelPacket *pixel)
Definition: resample.c:319
IntegerInterpolatePixel
@ IntegerInterpolatePixel
Definition: pixel.h:38
GetResizeFilterSupport
MagickExport MagickRealType GetResizeFilterSupport(const ResizeFilter *)
ScaleResampleFilter
MagickExport void ScaleResampleFilter(ResampleFilter *, const double, const double, const double, const double)
Lanczos2SharpFilter
@ Lanczos2SharpFilter
Definition: resample.h:59
image-private.h
InterpolateMagickPixelPacket
MagickExport MagickBooleanType InterpolateMagickPixelPacket(const Image *magick_restrict image, const CacheView *image_view, const InterpolatePixelMethod method, const double x, const double y, MagickPixelPacket *pixel, ExceptionInfo *exception)
Definition: pixel.c:4449
ReferenceImage
MagickExport Image * ReferenceImage(Image *image)
Definition: image.c:2152
_Image::columns
size_t columns
Definition: image.h:174
artifact.h
GaussianFilter
@ GaussianFilter
Definition: resample.h:42
_ResampleFilter::image
Image * image
Definition: resample.c:97
SetResampleFilter
MagickExport void SetResampleFilter(ResampleFilter *resample_filter, const FilterTypes filter, const double blur)
Definition: resample.c:1255
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
resource_.h
GetImageVirtualPixelMethod
MagickExport VirtualPixelMethod GetImageVirtualPixelMethod(const Image *image)
Definition: image.c:1608
FilterTypes
FilterTypes
Definition: resample.h:33
CheckerTileVirtualPixelMethod
@ CheckerTileVirtualPixelMethod
Definition: cache-view.h:46
_PixelPacket::blue
Quantum blue
Definition: pixel.h:143
utility.h
pixel.h
DestroyResampleFilter
MagickExport ResampleFilter * DestroyResampleFilter(ResampleFilter *resample_filter)
Definition: resample.c:269
QuadraticFilter
@ QuadraticFilter
Definition: resample.h:43
_CacheView
Definition: cache-view.c:66
random_.h
quantum.h
EdgeVirtualPixelMethod
@ EdgeVirtualPixelMethod
Definition: cache-view.h:33
LagrangeFilter
@ LagrangeFilter
Definition: resample.h:55
PointFilter
@ PointFilter
Definition: resample.h:35
MagickFilterOptions
@ MagickFilterOptions
Definition: option.h:53
MagickTrue
@ MagickTrue
Definition: magick-type.h:201
TriangleFilter
@ TriangleFilter
Definition: resample.h:37
VerticalTileVirtualPixelMethod
@ VerticalTileVirtualPixelMethod
Definition: cache-view.h:43
_MagickPixelPacket::index
MagickRealType index
Definition: pixel.h:126
_MagickPixelPacket::blue
MagickRealType blue
Definition: pixel.h:124
ClampToQuantum
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:88
HorizontalTileEdgeVirtualPixelMethod
@ HorizontalTileEdgeVirtualPixelMethod
Definition: cache-view.h:44
WLUT_WIDTH
#define WLUT_WIDTH
Definition: resample.c:85
TraceEvent
@ TraceEvent
Definition: log.h:38
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:521
SetCacheViewVirtualPixelMethod
MagickExport MagickBooleanType SetCacheViewVirtualPixelMethod(CacheView *magick_restrict cache_view, const VirtualPixelMethod virtual_pixel_method)
Definition: cache-view.c:960
_Image::interpolate
InterpolatePixelMethod interpolate
Definition: image.h:315
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:402
DestroyResizeFilter
MagickExport ResizeFilter * DestroyResizeFilter(ResizeFilter *)
Definition: resize.c:1485
GrayVirtualPixelMethod
@ GrayVirtualPixelMethod
Definition: cache-view.h:40
_Image
Definition: image.h:153
_ResampleFilter::image_area
ssize_t image_area
Definition: resample.c:107
GetCacheViewAuthenticIndexQueue
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
_Image::filter
FilterTypes filter
Definition: image.h:223
_MagickPixelPacket::colorspace
ColorspaceType colorspace
Definition: pixel.h:110
InterpolatePixelMethod
InterpolatePixelMethod
Definition: pixel.h:32
_MagickPixelPacket
Definition: pixel.h:105
ModuleError
@ ModuleError
Definition: exception.h:67
_ResampleFilter::do_interpolate
MagickBooleanType do_interpolate
Definition: resample.c:121
MagickPI
#define MagickPI
Definition: image-private.h:40
_ResizeFilter
Definition: resize.c:88
_ResampleFilter::average_defined
MagickBooleanType average_defined
Definition: resample.c:122
GetResizeFilterWeight
MagickExport MagickRealType GetResizeFilterWeight(const ResizeFilter *, const MagickRealType)
Definition: resize.c:1601
MirrorVirtualPixelMethod
@ MirrorVirtualPixelMethod
Definition: cache-view.h:34
SetResampleFilterInterpolateMethod
MagickExport MagickBooleanType SetResampleFilterInterpolateMethod(ResampleFilter *, const InterpolatePixelMethod)
Lanczos2Filter
@ Lanczos2Filter
Definition: resample.h:58
_Image::exception
ExceptionInfo exception
Definition: image.h:287
CatromFilter
@ CatromFilter
Definition: resample.h:45
BlackmanFilter
@ BlackmanFilter
Definition: resample.h:41
resize.h
SetResampleFilterVirtualPixelMethod
MagickExport MagickBooleanType SetResampleFilterVirtualPixelMethod(ResampleFilter *, const VirtualPixelMethod)
Definition: resample.c:1457
MagickFalse
@ MagickFalse
Definition: magick-type.h:200
JincFilter
@ JincFilter
Definition: resample.h:47
IsEventLogging
MagickExport MagickBooleanType IsEventLogging(void)
Definition: log.c:725
_ResampleFilter::virtual_pixel
VirtualPixelMethod virtual_pixel
Definition: resample.c:113
RobidouxFilter
@ RobidouxFilter
Definition: resample.h:60
LanczosFilter
@ LanczosFilter
Definition: resample.h:56
pixel-private.h
image.h
_ResampleFilter::A
double A
Definition: resample.c:129
_ResampleFilter::debug
MagickBooleanType debug
Definition: resample.c:103
CommandOptionToMnemonic
MagickExport const char * CommandOptionToMnemonic(const CommandOption option, const ssize_t type)
Definition: option.c:2291
_ResampleFilter::exception
ExceptionInfo * exception
Definition: resample.c:100
SetResampleFilterVirtualPixelMethod
MagickExport MagickBooleanType SetResampleFilterVirtualPixelMethod(ResampleFilter *resample_filter, const VirtualPixelMethod method)
Definition: resample.c:1457
_PixelPacket::opacity
Quantum opacity
Definition: pixel.h:146
LanczosRadiusFilter
@ LanczosRadiusFilter
Definition: resample.h:64
DitherVirtualPixelMethod
@ DitherVirtualPixelMethod
Definition: cache-view.h:32
color-private.h
draw.h
_PixelPacket::red
Quantum red
Definition: pixel.h:145
SplineFilter
@ SplineFilter
Definition: resample.h:63
_ResampleFilter::signature
size_t signature
Definition: resample.c:150
QuantumRange
#define QuantumRange
Definition: magick-type.h:86
CMYKColorspace
@ CMYKColorspace
Definition: colorspace.h:39
_ResampleFilter::view
CacheView * view
Definition: resample.c:94
_ResampleFilter::C
double C
Definition: resample.c:129
_Image::rows
size_t rows
Definition: image.h:175
_PixelPacket::green
Quantum green
Definition: pixel.h:144
cache-view.h
SincFastFilter
@ SincFastFilter
Definition: resample.h:49
cache.h
SetMagickPixelPacket
static void SetMagickPixelPacket(const Image *image, const PixelPacket *color, const IndexPacket *index, MagickPixelPacket *pixel)
Definition: pixel-private.h:78
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
HammingFilter
@ HammingFilter
Definition: resample.h:40
HanningFilter
@ HanningFilter
Definition: resample.h:39
log.h
ResizeImage
MagickExport Image * ResizeImage(const Image *image, const size_t columns, const size_t rows, const FilterTypes filter, const double blur, ExceptionInfo *exception)
Definition: resize.c:2908
_Image::signature
size_t signature
Definition: image.h:307
UndefinedVirtualPixelMethod
@ UndefinedVirtualPixelMethod
Definition: cache-view.h:29
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:199
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1123
_ExceptionInfo
Definition: exception.h:103
BlackVirtualPixelMethod
@ BlackVirtualPixelMethod
Definition: cache-view.h:39
SetResampleFilterInterpolateMethod
MagickExport MagickBooleanType SetResampleFilterInterpolateMethod(ResampleFilter *resample_filter, const InterpolatePixelMethod method)
Definition: resample.c:1418
studio.h
_ResampleFilter::Vlimit
double Vlimit
Definition: resample.c:130
resample.h
AcquireResizeFilter
MagickExport ResizeFilter * AcquireResizeFilter(const Image *, const FilterTypes, const MagickRealType, const MagickBooleanType, ExceptionInfo *)
RobidouxSharpFilter
@ RobidouxSharpFilter
Definition: resample.h:61
LanczosSharpFilter
@ LanczosSharpFilter
Definition: resample.h:57
MagickRealType
MagickDoubleType MagickRealType
Definition: magick-type.h:125
GetImageArtifact
MagickExport const char * GetImageArtifact(const Image *image, const char *artifact)
Definition: artifact.c:266
resize-private.h
AcquireVirtualCacheView
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
_ResampleFilter
Definition: resample.c:92
DestroyImage
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1166
TransparentVirtualPixelMethod
@ TransparentVirtualPixelMethod
Definition: cache-view.h:37
transform.h
DestroyResampleFilter
MagickExport ResampleFilter * DestroyResampleFilter(ResampleFilter *)
Definition: resample.c:269
_ResampleFilter::limit_reached
MagickBooleanType limit_reached
Definition: resample.c:120
TileVirtualPixelMethod
@ TileVirtualPixelMethod
Definition: cache-view.h:36
SetResampleFilter
MagickExport void SetResampleFilter(ResampleFilter *, const FilterTypes, const double)
Definition: resample.c:1255
AverageInterpolatePixel
@ AverageInterpolatePixel
Definition: pixel.h:34
_ResampleFilter::Uwidth
double Uwidth
Definition: resample.c:130
BartlettFilter
@ BartlettFilter
Definition: resample.h:54
memory_.h
signature-private.h
_MagickPixelPacket::matte
MagickBooleanType matte
Definition: pixel.h:113
GetMagickPrecision
MagickExport int GetMagickPrecision(void)
Definition: magick.c:690
_ResampleFilter::interpolate
InterpolatePixelMethod interpolate
Definition: resample.c:110
MagickEpsilon
#define MagickEpsilon
Definition: magick-type.h:115
exception-private.h
ConstantVirtualPixelMethod
@ ConstantVirtualPixelMethod
Definition: cache-view.h:31
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1149
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
_Image::blur
double blur
Definition: image.h:219
option.h
gem.h
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1420
HermiteFilter
@ HermiteFilter
Definition: resample.h:38
RandomVirtualPixelMethod
@ RandomVirtualPixelMethod
Definition: cache-view.h:35
_ResampleFilter::slope
double slope
Definition: resample.c:130
GetCacheViewVirtualPixels
MagickExport const PixelPacket * GetCacheViewVirtualPixels(const CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:723
MaskVirtualPixelMethod
@ MaskVirtualPixelMethod
Definition: cache-view.h:38
BackgroundVirtualPixelMethod
@ BackgroundVirtualPixelMethod
Definition: cache-view.h:30
token.h
_ResampleFilter::support
double support
Definition: resample.c:147
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
ResamplePixelColor
MagickExport MagickBooleanType ResamplePixelColor(ResampleFilter *, const double, const double, MagickPixelPacket *)
_MagickPixelPacket::opacity
MagickRealType opacity
Definition: pixel.h:125
_MagickPixelPacket::green
MagickRealType green
Definition: pixel.h:123
_PixelPacket
Definition: pixel.h:132
VerticalTileEdgeVirtualPixelMethod
@ VerticalTileEdgeVirtualPixelMethod
Definition: cache-view.h:45
SincFilter
@ SincFilter
Definition: resample.h:48
SentinelFilter
@ SentinelFilter
Definition: resample.h:65