shear.c File Reference

#include "magick/studio.h"
#include "magick/artifact.h"
#include "magick/attribute.h"
#include "magick/blob-private.h"
#include "magick/cache-private.h"
#include "magick/color-private.h"
#include "magick/colorspace-private.h"
#include "magick/composite.h"
#include "magick/composite-private.h"
#include "magick/decorate.h"
#include "magick/distort.h"
#include "magick/draw.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/gem.h"
#include "magick/geometry.h"
#include "magick/image.h"
#include "magick/image-private.h"
#include "magick/memory_.h"
#include "magick/list.h"
#include "magick/monitor.h"
#include "magick/monitor-private.h"
#include "magick/pixel-private.h"
#include "magick/quantum.h"
#include "magick/resource_.h"
#include "magick/shear.h"
#include "magick/statistic.h"
#include "magick/threshold.h"
#include "magick/transform.h"
Include dependency graph for shear.c:

Go to the source code of this file.

Data Structures

struct  _RadonInfo

Defines

#define RotateImageTag   "Rotate/Image"
#define XShearImageTag   "XShear/Image"
#define YShearImageTag   "YShear/Image"

Typedefs

typedef struct _RadonInfo RadonInfo

Functions

MagickExport ImageAffineTransformImage (const Image *image, const AffineMatrix *affine_matrix, ExceptionInfo *exception)
static void CropToFitImage (Image **image, const MagickRealType x_shear, const MagickRealType y_shear, const MagickRealType width, const MagickRealType height, const MagickBooleanType rotate, ExceptionInfo *exception)
static RadonInfoDestroyRadonInfo (RadonInfo *radon_info)
static MagickBooleanType ResetRadonCells (RadonInfo *radon_info)
static RadonInfoAcquireRadonInfo (const Image *image, const unsigned long width, const unsigned long height, ExceptionInfo *exception)
static size_t MagickMin (const size_t x, const size_t y)
static ssize_t ReadRadonCell (const RadonInfo *radon_info, const off_t offset, const size_t length, unsigned char *buffer)
static ssize_t WriteRadonCell (const RadonInfo *radon_info, const off_t offset, const size_t length, const unsigned char *buffer)
static unsigned short GetRadonCell (const RadonInfo *radon_info, const long x, const long y)
static MagickBooleanType SetRadonCell (const RadonInfo *radon_info, const long x, const long y, const unsigned short value)
static void RadonProjection (RadonInfo *source_cells, RadonInfo *destination_cells, const long sign, unsigned long *projection)
static MagickBooleanType RadonTransform (const Image *image, const double threshold, unsigned long *projection, ExceptionInfo *exception)
static void GetImageBackgroundColor (Image *image, const long offset, ExceptionInfo *exception)
MagickExport ImageDeskewImage (const Image *image, const double threshold, ExceptionInfo *exception)
static ImageIntegralRotateImage (const Image *image, unsigned long rotations, ExceptionInfo *exception)
static MagickBooleanType XShearImage (Image *image, const MagickRealType degrees, const unsigned long width, const unsigned long height, const long x_offset, const long y_offset)
static MagickBooleanType YShearImage (Image *image, const MagickRealType degrees, const unsigned long width, const unsigned long height, const long x_offset, const long y_offset)
MagickExport ImageRotateImage (const Image *image, const double degrees, ExceptionInfo *exception)
MagickExport ImageShearImage (const Image *image, const double x_shear, const double y_shear, ExceptionInfo *exception)

Define Documentation

#define RotateImageTag   "Rotate/Image"

Referenced by IntegralRotateImage().

#define XShearImageTag   "XShear/Image"

Referenced by XShearImage().

#define YShearImageTag   "YShear/Image"

Referenced by YShearImage().


Typedef Documentation

typedef struct _RadonInfo RadonInfo

Function Documentation

static RadonInfo* AcquireRadonInfo ( const Image image,
const unsigned long  width,
const unsigned long  height,
ExceptionInfo exception 
) [static]
MagickExport Image* AffineTransformImage ( const Image image,
const AffineMatrix affine_matrix,
ExceptionInfo exception 
)
static void CropToFitImage ( Image **  image,
const MagickRealType  x_shear,
const MagickRealType  y_shear,
const MagickRealType  width,
const MagickRealType  height,
const MagickBooleanType  rotate,
ExceptionInfo exception 
) [inline, static]
MagickExport Image* DeskewImage ( const Image image,
const double  threshold,
ExceptionInfo exception 
)
static RadonInfo* DestroyRadonInfo ( RadonInfo radon_info  )  [static]
static void GetImageBackgroundColor ( Image image,
const long  offset,
ExceptionInfo exception 
) [static]
static unsigned short GetRadonCell ( const RadonInfo radon_info,
const long  x,
const long  y 
) [inline, static]
static Image* IntegralRotateImage ( const Image image,
unsigned long  rotations,
ExceptionInfo exception 
) [static]
static size_t MagickMin ( const size_t  x,
const size_t  y 
) [inline, static]

Definition at line 432 of file shear.c.

Referenced by ReadRadonCell(), and WriteRadonCell().

static void RadonProjection ( RadonInfo source_cells,
RadonInfo destination_cells,
const long  sign,
unsigned long *  projection 
) [static]

Definition at line 572 of file shear.c.

References GetRadonCell(), _RadonInfo::height, SetRadonCell(), and _RadonInfo::width.

Referenced by RadonTransform().

static MagickBooleanType RadonTransform ( const Image image,
const double  threshold,
unsigned long *  projection,
ExceptionInfo exception 
) [static]
static ssize_t ReadRadonCell ( const RadonInfo radon_info,
const off_t  offset,
const size_t  length,
unsigned char *  buffer 
) [inline, static]

Definition at line 439 of file shear.c.

References _RadonInfo::file, MagickMin(), MagickSeek, read, and SSIZE_MAX.

Referenced by GetRadonCell().

static MagickBooleanType ResetRadonCells ( RadonInfo radon_info  )  [static]
MagickExport Image* RotateImage ( const Image image,
const double  degrees,
ExceptionInfo exception 
)
static MagickBooleanType SetRadonCell ( const RadonInfo radon_info,
const long  x,
const long  y,
const unsigned short  value 
) [inline, static]
MagickExport Image* ShearImage ( const Image image,
const double  x_shear,
const double  y_shear,
ExceptionInfo exception 
)
static ssize_t WriteRadonCell ( const RadonInfo radon_info,
const off_t  offset,
const size_t  length,
const unsigned char *  buffer 
) [inline, static]

Definition at line 483 of file shear.c.

References _RadonInfo::file, MagickMin(), MagickSeek, SSIZE_MAX, and write.

Referenced by SetRadonCell().

static MagickBooleanType XShearImage ( Image image,
const MagickRealType  degrees,
const unsigned long  width,
const unsigned long  height,
const long  x_offset,
const long  y_offset 
) [static]
static MagickBooleanType YShearImage ( Image image,
const MagickRealType  degrees,
const unsigned long  width,
const unsigned long  height,
const long  x_offset,
const long  y_offset 
) [static]

Generated on 19 Nov 2009 for MagickCore by  doxygen 1.6.1