void Magick::Image::virtualPixelMethod ( const VirtualPixelMethod virtual_pixel_method_ )
{
modifyImage();
- SetImageVirtualPixelMethod( image(), virtual_pixel_method_ );
+ ExceptionInfo exceptionInfo;
+ GetExceptionInfo( &exceptionInfo );
+ SetImageVirtualPixelMethod( image(), virtual_pixel_method_, &exceptionInfo );
+ throwException( exceptionInfo );
+ (void) DestroyExceptionInfo( &exceptionInfo );
}
Magick::VirtualPixelMethod Magick::Image::virtualPixelMethod ( void ) const
{
extern MagickPrivate VirtualPixelMethod
GetPixelCacheVirtualMethod(const Image *),
- SetPixelCacheVirtualMethod(const Image *,const VirtualPixelMethod);
+ SetPixelCacheVirtualMethod(Image *,const VirtualPixelMethod,ExceptionInfo *);
extern MagickPrivate void
CacheComponentTerminus(void),
%
% The format of the SetPixelCacheVirtualMethod() method is:
%
-% VirtualPixelMethod SetPixelCacheVirtualMethod(const Image *image,
-% const VirtualPixelMethod virtual_pixel_method)
+% VirtualPixelMethod SetPixelCacheVirtualMethod(Image *image,
+% const VirtualPixelMethod virtual_pixel_method,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
%
% o virtual_pixel_method: choose the type of virtual pixel.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
-MagickPrivate VirtualPixelMethod SetPixelCacheVirtualMethod(const Image *image,
- const VirtualPixelMethod virtual_pixel_method)
+MagickPrivate VirtualPixelMethod SetPixelCacheVirtualMethod(Image *image,
+ const VirtualPixelMethod virtual_pixel_method,ExceptionInfo *exception)
{
CacheInfo
*cache_info;
assert(cache_info->signature == MagickSignature);
method=cache_info->virtual_pixel_method;
cache_info->virtual_pixel_method=virtual_pixel_method;
+ switch (virtual_pixel_method)
+ {
+ case BackgroundVirtualPixelMethod:
+ {
+ if ((image->background_color.matte != MagickFalse) &&
+ (image->matte == MagickFalse))
+ (void) SetImageAlpha(image,OpaqueAlpha,exception);
+ break;
+ }
+ case TransparentVirtualPixelMethod:
+ {
+ if (image->matte == MagickFalse)
+ (void) SetImageAlpha(image,OpaqueAlpha,exception);
+ break;
+ }
+ default:
+ break;
+ }
return(method);
}
\f
assert(image->signature == MagickSignature);
if (texture_image == (const Image *) NULL)
return(MagickFalse);
- (void) SetImageVirtualPixelMethod(texture_image,TileVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(texture_image,TileVirtualPixelMethod,
+ exception);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
status=MagickTrue;
return((Image *) NULL);
/* Do not short-circuit this resize if final image size is unchanged */
- (void) SetImageVirtualPixelMethod(image,TransparentVirtualPixelMethod);
(void) ResetMagickMemory(distort_args,0,12*sizeof(double));
distort_args[4]=(double) image->columns;
tmp_image=CloneImage(image,0,0,MagickTrue,exception);
if ( tmp_image == (Image *) NULL )
return((Image *) NULL);
- (void) SetImageVirtualPixelMethod(tmp_image,TransparentVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(tmp_image,TransparentVirtualPixelMethod,
+ exception);
if (image->matte == MagickFalse)
{
if ( tmp_image == (Image *) NULL )
return((Image *) NULL);
(void) SetImageVirtualPixelMethod(tmp_image,
- TransparentVirtualPixelMethod);
+ TransparentVirtualPixelMethod,exception);
resize_image=DistortImage(tmp_image,AffineDistortion,12,distort_args,
MagickTrue,exception),
tmp_image=DestroyImage(tmp_image);
0,0,exception);
resize_alpha=DestroyImage(resize_alpha);
}
- (void) SetImageVirtualPixelMethod(resize_image,vp_save);
+ (void) SetImageVirtualPixelMethod(resize_image,vp_save,exception);
/*
Clean up the results of the Distortion
distort_image=CloneImage(image,0,0,MagickTrue,exception);
if (distort_image == (Image *) NULL)
return((Image *) NULL);
- if ((distort_image->background_color.matte != MagickFalse) &&
- (distort_image->matte == MagickFalse))
- (void) SetImageAlpha(distort_image,OpaqueAlpha,exception);
- (void) SetImageVirtualPixelMethod(distort_image,BackgroundVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(distort_image,BackgroundVirtualPixelMethod,
+ exception);
rotate_image=DistortImage(distort_image,ScaleRotateTranslateDistortion,1,
°rees,MagickTrue,exception);
distort_image=DestroyImage(distort_image);
clone_image=CloneImage(image,0,0,MagickTrue,exception);
if (clone_image == (Image *) NULL)
return((Image *) NULL);
- (void) SetImageVirtualPixelMethod(clone_image,EdgeVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(clone_image,EdgeVirtualPixelMethod,
+ exception);
border_info.width=(size_t) floor(2.0*sigma+0.5);
border_info.height=(size_t) floor(2.0*sigma+0.5);
border_info.x=0;
%
% The format of the SetImageVirtualPixelMethod() method is:
%
-% VirtualPixelMethod SetImageVirtualPixelMethod(const Image *image,
-% const VirtualPixelMethod virtual_pixel_method)
+% VirtualPixelMethod SetImageVirtualPixelMethod(Image *image,
+% const VirtualPixelMethod virtual_pixel_method,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
%
% o virtual_pixel_method: choose the type of virtual pixel.
%
+% o exception: return any errors or warnings in this structure.
+%
*/
-MagickExport VirtualPixelMethod SetImageVirtualPixelMethod(const Image *image,
- const VirtualPixelMethod virtual_pixel_method)
+MagickExport VirtualPixelMethod SetImageVirtualPixelMethod(Image *image,
+ const VirtualPixelMethod virtual_pixel_method,ExceptionInfo *exception)
{
assert(image != (const Image *) NULL);
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- return(SetPixelCacheVirtualMethod(image,virtual_pixel_method));
+ return(SetPixelCacheVirtualMethod(image,virtual_pixel_method,exception));
}
\f
/*
}
option=GetImageOption(image_info,"virtual-pixel");
if (option != (const char *) NULL)
- (void) SetImageVirtualPixelMethod(image, (VirtualPixelMethod)
- ParseCommandOption(MagickVirtualPixelOptions,MagickFalse,option));
+ (void) SetImageVirtualPixelMethod(image,(VirtualPixelMethod)
+ ParseCommandOption(MagickVirtualPixelOptions,MagickFalse,option),
+ exception);
option=GetImageOption(image_info,"white-point");
if (option != (const char *) NULL)
{
extern MagickExport VirtualPixelMethod
GetImageVirtualPixelMethod(const Image *),
- SetImageVirtualPixelMethod(const Image *,const VirtualPixelMethod);
+ SetImageVirtualPixelMethod(Image *,const VirtualPixelMethod,ExceptionInfo *);
extern MagickExport void
AcquireNextImage(const ImageInfo *,Image *,ExceptionInfo *),
/* #undef AUTOTRACE_DELEGATE */
/* Define if coders and filters are to be built as modules. */
-/* #undef BUILD_MODULES */
+#ifndef MAGICKCORE_BUILD_MODULES
+#define MAGICKCORE_BUILD_MODULES 1
+#endif
/* Define if you have the bzip2 library */
#ifndef MAGICKCORE_BZLIB_DELEGATE
#endif
/* Define to 1 if you have the <CL/cl.h> header file. */
-/* #undef HAVE_CL_CL_H */
+#ifndef MAGICKCORE_HAVE_CL_CL_H
+#define MAGICKCORE_HAVE_CL_CL_H 1
+#endif
/* Define to 1 if you have the <complex.h> header file. */
#ifndef MAGICKCORE_HAVE_COMPLEX_H
#endif
/* Define if you have JBIG library */
-/* #undef JBIG_DELEGATE */
+#ifndef MAGICKCORE_JBIG_DELEGATE
+#define MAGICKCORE_JBIG_DELEGATE 1
+#endif
/* Define if you have JPEG version 2 "Jasper" library */
#ifndef MAGICKCORE_JP2_DELEGATE
/* Define to the system default library search path. */
#ifndef MAGICKCORE_LT_DLSEARCH_PATH
-#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib/llvm:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib64/tracker-0.12:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
+#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/R/lib:/usr/lib64/alliance/lib:/usr/lib64/atlas:/usr/lib64/freetype-freeworld:/opt/modules/pkg/intel/f77/10.0.025/lib:/usr/lib64/kicad:/usr/lib/llvm:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mpich2/lib/:/usr/lib64/mysql:/usr/lib64/nvidia:/usr/lib64/openmotif:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib64/tracker-0.12:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
#endif
/* The archive extension */
/* #undef NO_MINUS_C_MINUS_O */
/* Define if you have OPENEXR library */
-/* #undef OPENEXR_DELEGATE */
+#ifndef MAGICKCORE_OPENEXR_DELEGATE
+#define MAGICKCORE_OPENEXR_DELEGATE 1
+#endif
/* Name of package */
#ifndef MAGICKCORE_PACKAGE
#endif
/* Define if you have RSVG library */
-/* #undef RSVG_DELEGATE */
+#ifndef MAGICKCORE_RSVG_DELEGATE
+#define MAGICKCORE_RSVG_DELEGATE 1
+#endif
/* Define to the type of arg 1 for `select'. */
#ifndef MAGICKCORE_SELECT_TYPE_ARG1
/* #undef _MINIX */
/* Define this for the OpenCL Accelerator */
-/* #undef _OPENCL */
+#ifndef MAGICKCORE__OPENCL
+#define MAGICKCORE__OPENCL 1
+#endif
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
clone_image=CloneImage(image,0,0,MagickTrue,exception);
if (clone_image == (Image *) NULL)
return((Image *) NULL);
- (void) SetImageVirtualPixelMethod(clone_image,BackgroundVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(clone_image,BackgroundVirtualPixelMethod,
+ exception);
degrees=RadiansToDegrees(-atan((double) skew/width/8));
if (image->debug != MagickFalse)
(void) LogMagickEvent(TransformEvent,GetMagickModule(),
*/
#define MagickPackageName "ImageMagick"
#define MagickCopyright "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision "6720"
+#define MagickSVNRevision "exported"
#define MagickLibVersion 0x700
#define MagickLibVersionText "7.0.0"
#define MagickLibVersionNumber 7,0,0
#define MagickLibAddendum "-0"
#define MagickLibInterface 7
#define MagickLibMinInterface 7
-#define MagickReleaseDate "2012-02-06"
+#define MagickReleaseDate "2012-02-07"
#define MagickChangeDate "20110801"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#if defined(MAGICKCORE_OPENMP_SUPPORT)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
return(UndefinedVirtualPixelMethod);
- return(SetImageVirtualPixelMethod(wand->images,method));
+ return(SetImageVirtualPixelMethod(wand->images,method,wand->exception));
}
\f
/*
if (*option == '+')
{
(void) SetImageVirtualPixelMethod(*image,
- UndefinedVirtualPixelMethod);
+ UndefinedVirtualPixelMethod,exception);
break;
}
(void) SetImageVirtualPixelMethod(*image,(VirtualPixelMethod)
ParseCommandOption(MagickVirtualPixelOptions,MagickFalse,
- argv[i+1]));
+ argv[i+1]),exception);
break;
}
break;
break;
}
for ( ; image; image=image->next)
- SetImageVirtualPixelMethod(image,(VirtualPixelMethod) sp);
+ SetImageVirtualPixelMethod(image,(VirtualPixelMethod) sp,exception);
break;
}
if (info)
if (attribute_flag[0] == 0)
argument_list[0].real_reference=90.0;
if (attribute_flag[1] != 0)
- QueryColorCompliance(argument_list[1].string_reference,
- AllCompliance,&image->background_color,exception);
+ {
+ QueryColorCompliance(argument_list[1].string_reference,
+ AllCompliance,&image->background_color,exception);
+ if ((image->background_color.matte != MagickFalse) &&
+ (image->matte == MagickFalse))
+ (void) SetImageAlpha(image,OpaqueAlpha,exception);
+ }
image=RotateImage(image,argument_list[0].real_reference,exception);
break;
}
virtual_pixel=UndefinedVirtualPixelMethod;
if (attribute_flag[2] != 0)
virtual_pixel=SetImageVirtualPixelMethod(image,(VirtualPixelMethod)
- argument_list[2].integer_reference);
+ argument_list[2].integer_reference,exception);
image=DistortImage(image,method,number_coordinates,coordinates,
argument_list[3].integer_reference != 0 ? MagickTrue : MagickFalse,
exception);
if ((attribute_flag[2] != 0) && (image != (Image *) NULL))
- virtual_pixel=SetImageVirtualPixelMethod(image,virtual_pixel);
+ virtual_pixel=SetImageVirtualPixelMethod(image,virtual_pixel,
+ exception);
coordinates=(double *) RelinquishMagickMemory(coordinates);
break;
}
virtual_pixel=UndefinedVirtualPixelMethod;
if (attribute_flag[2] != 0)
virtual_pixel=SetImageVirtualPixelMethod(image,(VirtualPixelMethod)
- argument_list[2].integer_reference);
+ argument_list[2].integer_reference,exception);
if (attribute_flag[3] != 0)
channel=(ChannelType) argument_list[3].integer_reference;
channel_mask=SetPixelChannelMask(image,channel);
if (image != (Image *) NULL)
(void) SetPixelChannelMask(image,channel_mask);
if ((attribute_flag[2] != 0) && (image != (Image *) NULL))
- virtual_pixel=SetImageVirtualPixelMethod(image,virtual_pixel);
+ virtual_pixel=SetImageVirtualPixelMethod(image,virtual_pixel,
+ exception);
coordinates=(double *) RelinquishMagickMemory(coordinates);
break;
}
virtual_pixel=UndefinedVirtualPixelMethod;
if (attribute_flag[2] != 0)
virtual_pixel=SetImageVirtualPixelMethod(image,(VirtualPixelMethod)
- argument_list[2].integer_reference);
+ argument_list[2].integer_reference,exception);
(void) FunctionImage(image,function,number_parameters,parameters,
exception);
if ((attribute_flag[2] != 0) && (image != (Image *) NULL))
- virtual_pixel=SetImageVirtualPixelMethod(image,virtual_pixel);
+ virtual_pixel=SetImageVirtualPixelMethod(image,virtual_pixel,
+ exception);
parameters=(double *) RelinquishMagickMemory(parameters);
break;
}
*/
canvas_image=CloneImage(image,image->extract_info.width,1,MagickFalse,
exception);
- (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod,
+ exception);
quantum_info=AcquireQuantumInfo(image_info,canvas_image);
if (quantum_info == (QuantumInfo *) NULL)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
*/
canvas_image=CloneImage(image,image->extract_info.width,1,MagickFalse,
exception);
- (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod,
+ exception);
quantum_info=AcquireQuantumInfo(image_info,canvas_image);
if (quantum_info == (QuantumInfo *) NULL)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
image->colorspace=GRAYColorspace;
canvas_image=CloneImage(image,image->extract_info.width,1,MagickFalse,
exception);
- (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod,
+ exception);
quantum_type=GrayQuantum;
quantum_info=AcquireQuantumInfo(image_info,canvas_image);
if (quantum_info == (QuantumInfo *) NULL)
*/
canvas_image=CloneImage(image,image->extract_info.width,1,MagickFalse,
exception);
- (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod,
+ exception);
quantum_type=GrayQuantum;
quantum_info=AcquireQuantumInfo(image_info,canvas_image);
if (quantum_info == (QuantumInfo *) NULL)
*/
canvas_image=CloneImage(image,image->extract_info.width,1,MagickFalse,
exception);
- (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod,
+ exception);
quantum_info=AcquireQuantumInfo(image_info,canvas_image);
if (quantum_info == (QuantumInfo *) NULL)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
*/
canvas_image=CloneImage(image,image->extract_info.width,1,MagickFalse,
exception);
- (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod);
+ (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod,
+ exception);
quantum_info=AcquireQuantumInfo(image_info,canvas_image);
if (quantum_info == (QuantumInfo *) NULL)
ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");