2655
2655
% The format of the MagickEvaluateImage method is:
2657
2657
% MagickBooleanType MagickEvaluateImage(MagickWand *wand,
2658
% const MagickEvaluateOperator op,const double constant)
2658
% const MagickEvaluateOperator operator,const double value)
2659
2659
% MagickBooleanType MagickEvaluateImageChannel(MagickWand *wand,
2660
% const MagickEvaluateOperator op,const double constant)
2660
% const ChannelType channel,const MagickEvaluateOperator op,
2661
% const double value)
2662
2663
% A description of each parameter follows:
2664
2665
% o wand: the magick wand.
2667
% o channel: the channel(s).
2666
2669
% o op: A channel operator.
2668
% o constant: A constant value.
2671
% o value: A value value.
2672
2675
WandExport MagickBooleanType MagickEvaluateImage(MagickWand *wand,
2673
const MagickEvaluateOperator op,const double constant)
2676
const MagickEvaluateOperator op,const double value)
2675
2678
MagickBooleanType
2681
2684
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2682
2685
if (wand->images == (Image *) NULL)
2683
2686
ThrowWandException(WandError,"ContainsNoImages",wand->name);
2684
status=EvaluateImage(wand->images,op,constant,&wand->images->exception);
2687
status=EvaluateImage(wand->images,op,value,&wand->images->exception);
2685
2688
if (status == MagickFalse)
2686
2689
InheritException(wand->exception,&wand->images->exception);
2687
2690
return(status);
2690
2693
WandExport MagickBooleanType MagickEvaluateImageChannel(MagickWand *wand,
2691
const ChannelType channel,const MagickEvaluateOperator op,
2692
const double constant)
2694
const ChannelType channel,const MagickEvaluateOperator op,const double value)
2694
2696
MagickBooleanType
2700
2702
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2701
2703
if (wand->images == (Image *) NULL)
2702
2704
ThrowWandException(WandError,"ContainsNoImages",wand->name);
2703
status=EvaluateImageChannel(wand->images,channel,op,constant,
2705
status=EvaluateImageChannel(wand->images,channel,op,value,
2704
2706
&wand->images->exception);
2705
2707
return(status);
2715
% M a g i c k E x p o r t I m a g e P i x e l s %
2719
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2721
% MagickExportImagePixels() extracts pixel data from an image and returns it
2722
% to you. The method returns MagickTrue on success otherwise MagickFalse if
2723
% an error is encountered. The data is returned as char, short int, int,
2724
% long, float, or double in the order specified by map.
2726
% Suppose you want to extract the first scanline of a 640x480 image as
2727
% character data in red-green-blue order:
2729
% MagickExportImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);
2731
% The format of the MagickExportImagePixels method is:
2733
% MagickBooleanType MagickExportImagePixels(MagickWand *wand,
2734
% const long x,const long y,const unsigned long columns,
2735
% const unsigned long rows,const char *map,const StorageType storage,
2738
% A description of each parameter follows:
2740
% o wand: the magick wand.
2742
% o x, y, columns, rows: These values define the perimeter
2743
% of a region of pixels you want to extract.
2745
% o map: This string reflects the expected ordering of the pixel array.
2746
% It can be any combination or order of R = red, G = green, B = blue,
2747
% A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan,
2748
% Y = yellow, M = magenta, K = black, I = intensity (for grayscale),
2751
% o storage: Define the data type of the pixels. Float and double types are
2752
% expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from
2753
% these types: CharPixel, DoublePixel, FloatPixel, IntegerPixel,
2754
% LongPixel, QuantumPixel, or ShortPixel.
2756
% o pixels: This array of values contain the pixel components as defined by
2757
% map and type. You must preallocate this array where the expected
2758
% length varies depending on the values of width, height, map, and type.
2761
WandExport MagickBooleanType MagickExportImagePixels(MagickWand *wand,
2762
const long x,const long y,const unsigned long columns,
2763
const unsigned long rows,const char *map,const StorageType storage,
2769
assert(wand != (MagickWand *) NULL);
2770
assert(wand->signature == WandSignature);
2771
if (wand->debug != MagickFalse)
2772
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2773
if (wand->images == (Image *) NULL)
2774
ThrowWandException(WandError,"ContainsNoImages",wand->name);
2775
status=ExportImagePixels(wand->images,x,y,columns,rows,map,
2776
storage,pixels,wand->exception);
2777
if (status == MagickFalse)
2778
InheritException(wand->exception,&wand->images->exception);
2783
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2713
2787
% M a g i c k E x t e n t I m a g e %
2874
2948
ThrowWandException(WandError,"ContainsNoImages",wand->name);
2875
2949
draw_info=CloneDrawInfo(wand->image_info,(DrawInfo *) NULL);
2876
2950
PixelGetQuantumColor(fill,&draw_info->fill);
2877
(void) AcquireOneMagickPixel(wand->images,x % wand->images->columns,
2951
(void) GetOneVirtualMagickPixel(wand->images,x % wand->images->columns,
2878
2952
y % wand->images->rows,&target,wand->exception);
2879
2953
if (bordercolor != (PixelWand *) NULL)
2880
2954
PixelGetMagickColor(bordercolor,&target);
3079
% M a g i c k F u n c t i o n I m a g e %
3083
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3085
% MagickFunctionImage() applys an arithmetic, relational, or logical
3086
% expression to an image. Use these operators to lighten or darken an image,
3087
% to increase or decrease contrast in an image, or to produce the "negative"
3090
% The format of the MagickFunctionImage method is:
3092
% MagickBooleanType MagickFunctionImage(MagickWand *wand,
3093
% const MagickFunction function,const unsigned long number_arguments,
3094
% const double *arguments)
3095
% MagickBooleanType MagickFunctionImageChannel(MagickWand *wand,
3096
% const ChannelType channel,const MagickFunction function,
3097
% const unsigned long number_arguments,const double *arguments)
3099
% A description of each parameter follows:
3101
% o wand: the magick wand.
3103
% o channel: the channel(s).
3105
% o function: the image function.
3107
% o number_arguments: the number of function arguments.
3109
% o arguments: the function arguments.
3113
WandExport MagickBooleanType MagickFunctionImage(MagickWand *wand,
3114
const MagickFunction function,const unsigned long number_arguments,
3115
const double *arguments)
3120
assert(wand != (MagickWand *) NULL);
3121
assert(wand->signature == WandSignature);
3122
if (wand->debug != MagickFalse)
3123
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
3124
if (wand->images == (Image *) NULL)
3125
ThrowWandException(WandError,"ContainsNoImages",wand->name);
3126
status=FunctionImage(wand->images,function,number_arguments,arguments,
3127
&wand->images->exception);
3128
if (status == MagickFalse)
3129
InheritException(wand->exception,&wand->images->exception);
3133
WandExport MagickBooleanType MagickFunctionImageChannel(MagickWand *wand,
3134
const ChannelType channel,const MagickFunction function,
3135
const unsigned long number_arguments,const double *arguments)
3140
assert(wand != (MagickWand *) NULL);
3141
assert(wand->signature == WandSignature);
3142
if (wand->debug != MagickFalse)
3143
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
3144
if (wand->images == (Image *) NULL)
3145
ThrowWandException(WandError,"ContainsNoImages",wand->name);
3146
status=FunctionImageChannel(wand->images,channel,function,number_arguments,
3147
arguments,&wand->images->exception);
3152
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3005
3156
% M a g i c k F x I m a g e %
3865
% M a g i c k G e t I m a g e C h a n n e l K u r t o s i s %
3869
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3871
% MagickGetImageChannelKurtosis() gets the kurtosis and skewness of one or
3872
% more image channels.
3874
% The format of the MagickGetImageChannelKurtosis method is:
3876
% MagickBooleanType MagickGetImageChannelKurtosis(MagickWand *wand,
3877
% const ChannelType channel,double *kurtosis,double *skewness)
3879
% A description of each parameter follows:
3881
% o wand: the magick wand.
3883
% o channel: the image channel(s).
3885
% o kurtosis: The kurtosis for the specified channel(s).
3887
% o skewness: The skewness for the specified channel(s).
3890
WandExport MagickBooleanType MagickGetImageChannelKurtosis(MagickWand *wand,
3891
const ChannelType channel,double *kurtosis,double *skewness)
3896
assert(wand != (MagickWand *) NULL);
3897
assert(wand->signature == WandSignature);
3898
if (wand->debug != MagickFalse)
3899
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
3900
if (wand->images == (Image *) NULL)
3901
ThrowWandException(WandError,"ContainsNoImages",wand->name);
3902
status=GetImageChannelKurtosis(wand->images,channel,kurtosis,skewness,
3908
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3714
3912
% M a g i c k G e t I m a g e C h a n n e l R a n g e %
3764
3962
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3766
3964
% MagickGetImageChannelStatistics() returns statistics for each channel in the
3767
% image. The statistics incude the channel depth, its minimand
3768
% maxima, the mean, and the standard deviation. You can access the red
3769
% channel mean, for example, like this:
3965
% image. The statistics include the channel depth, its minima and
3966
% maxima, the mean, the standard deviation, the kurtosis and the skewness.
3967
% You can access the red channel mean, for example, like this:
3771
3969
% channel_statistics=MagickGetImageChannelStatistics(image,excepton);
3772
3970
% red_mean=channel_statistics[RedChannel].mean;
4785
4983
if (wand->images == (Image *) NULL)
4786
4984
ThrowWandException(WandError,"ContainsNoImages",wand->name);
4787
4985
image_view=AcquireCacheView(wand->images);
4788
p=AcquireCacheViewPixels(image_view,x,y,1,1,wand->exception);
4986
p=GetCacheViewVirtualPixels(image_view,x,y,1,1,wand->exception);
4789
4987
if (p == (const PixelPacket *) NULL)
4791
4989
image_view=DestroyCacheView(image_view);
4792
4990
return(MagickFalse);
4794
indexes=GetCacheViewIndexes(image_view);
4992
indexes=GetCacheViewAuthenticIndexQueue(image_view);
4795
4993
PixelSetQuantumColor(color,p);
4796
4994
if (GetCacheViewColorspace(image_view) == CMYKColorspace)
4797
4995
PixelSetBlackQuantum(color,*indexes);
4810
% M a g i c k G e t I m a g e P i x e l s %
4814
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4816
% MagickGetImagePixels() extracts pixel data from an image and returns it to
4817
% you. The method returns MagickTrue on success otherwise MagickFalse if an
4818
% error is encountered. The data is returned as char, short int, int, long,
4819
% float, or double in the order specified by map.
4821
% Suppose you want to extract the first scanline of a 640x480 image as
4822
% character data in red-green-blue order:
4824
% MagickGetImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);
4826
% The format of the MagickGetImagePixels method is:
4828
% MagickBooleanType MagickGetImagePixels(MagickWand *wand,
4829
% const long x,const long y,const unsigned long columns,
4830
% const unsigned long rows,const char *map,const StorageType storage,
4833
% A description of each parameter follows:
4835
% o wand: the magick wand.
4837
% o x, y, columns, rows: These values define the perimeter
4838
% of a region of pixels you want to extract.
4840
% o map: This string reflects the expected ordering of the pixel array.
4841
% It can be any combination or order of R = red, G = green, B = blue,
4842
% A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan,
4843
% Y = yellow, M = magenta, K = black, I = intensity (for grayscale),
4846
% o storage: Define the data type of the pixels. Float and double types are
4847
% expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from
4848
% these types: CharPixel, DoublePixel, FloatPixel, IntegerPixel,
4849
% LongPixel, QuantumPixel, or ShortPixel.
4851
% o pixels: This array of values contain the pixel components as defined by
4852
% map and type. You must preallocate this array where the expected
4853
% length varies depending on the values of width, height, map, and type.
4857
WandExport MagickBooleanType MagickGetImagePixels(MagickWand *wand,
4858
const long x,const long y,const unsigned long columns,
4859
const unsigned long rows,const char *map,const StorageType storage,
4865
assert(wand != (MagickWand *) NULL);
4866
assert(wand->signature == WandSignature);
4867
if (wand->debug != MagickFalse)
4868
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
4869
if (wand->images == (Image *) NULL)
4870
ThrowWandException(WandError,"ContainsNoImages",wand->name);
4871
status=ExportImagePixels(wand->images,x,y,columns,rows,map,
4872
storage,pixels,wand->exception);
4873
if (status == MagickFalse)
4874
InheritException(wand->exception,&wand->images->exception);
4879
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4883
5008
+ M a g i c k G e t I m a g e R a n g e %
5791
% M a g i c k I m p o r t I m a g e P i x e l s %
5795
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5797
% MagickImportImagePixels() accepts pixel datand stores it in the image at the
5798
% location you specify. The method returns MagickFalse on success otherwise
5799
% MagickTrue if an error is encountered. The pixel data can be either char,
5800
% short int, int, long, float, or double in the order specified by map.
5802
% Suppose your want to upload the first scanline of a 640x480 image from
5803
% character data in red-green-blue order:
5805
% MagickImportImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);
5807
% The format of the MagickImportImagePixels method is:
5809
% MagickBooleanType MagickImportImagePixels(MagickWand *wand,
5810
% const long x,const long y,const unsigned long columns,
5811
% const unsigned long rows,const char *map,const StorageType storage,
5812
% const void *pixels)
5814
% A description of each parameter follows:
5816
% o wand: the magick wand.
5818
% o x, y, columns, rows: These values define the perimeter of a region
5819
% of pixels you want to define.
5821
% o map: This string reflects the expected ordering of the pixel array.
5822
% It can be any combination or order of R = red, G = green, B = blue,
5823
% A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan,
5824
% Y = yellow, M = magenta, K = black, I = intensity (for grayscale),
5827
% o storage: Define the data type of the pixels. Float and double types are
5828
% expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from
5829
% these types: CharPixel, ShortPixel, IntegerPixel, LongPixel, FloatPixel,
5832
% o pixels: This array of values contain the pixel components as defined by
5833
% map and type. You must preallocate this array where the expected
5834
% length varies depending on the values of width, height, map, and type.
5837
WandExport MagickBooleanType MagickImportImagePixels(MagickWand *wand,
5838
const long x,const long y,const unsigned long columns,
5839
const unsigned long rows,const char *map,const StorageType storage,
5845
assert(wand != (MagickWand *) NULL);
5846
assert(wand->signature == WandSignature);
5847
if (wand->debug != MagickFalse)
5848
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
5849
if (wand->images == (Image *) NULL)
5850
ThrowWandException(WandError,"ContainsNoImages",wand->name);
5851
status=ImportImagePixels(wand->images,x,y,columns,rows,map,storage,pixels);
5852
if (status == MagickFalse)
5853
InheritException(wand->exception,&wand->images->exception);
5858
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5666
5862
% M a g i c k L a b e l I m a g e %
8455
% M a g i c k S e l e c t i v e B l u r I m a g e %
8459
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8461
% MagickSelectiveBlurImage() selectively blur an image within a contrast
8462
% threshold. It is similar to the unsharpen mask that sharpens everything with
8463
% contrast above a certain threshold.
8465
% The format of the MagickSelectiveBlurImage method is:
8467
% MagickBooleanType MagickSelectiveBlurImage(MagickWand *wand,
8468
% const double radius,const double sigma,const double threshold)
8469
% MagickBooleanType MagickSelectiveBlurImageChannel(MagickWand *wand,
8470
% const ChannelType channel,const double radius,const double sigma,
8471
% const double threshold)
8473
% A description of each parameter follows:
8475
% o wand: the magick wand.
8477
% o channel: the image channel(s).
8479
% o radius: the radius of the gaussian, in pixels, not counting the center
8482
% o sigma: the standard deviation of the gaussian, in pixels.
8484
% o threshold: only pixels within this contrast threshold are included
8485
% in the blur operation
8489
WandExport MagickBooleanType MagickSelectiveBlurImage(MagickWand *wand,
8490
const double radius,const double sigma,const double threshold)
8495
status=MagickSelectiveBlurImageChannel(wand,DefaultChannels,radius,sigma,
8500
WandExport MagickBooleanType MagickSelectiveBlurImageChannel(MagickWand *wand,
8501
const ChannelType channel,const double radius,const double sigma,
8502
const double threshold)
8507
assert(wand != (MagickWand *) NULL);
8508
assert(wand->signature == WandSignature);
8509
if (wand->debug != MagickFalse)
8510
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
8511
if (wand->images == (Image *) NULL)
8512
ThrowWandException(WandError,"ContainsNoImages",wand->name);
8513
blur_image=SelectiveBlurImageChannel(wand->images,channel,radius,sigma,
8514
threshold,wand->exception);
8515
if (blur_image == (Image *) NULL)
8516
return(MagickFalse);
8517
ReplaceImageInList(&wand->images,blur_image);
8522
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8257
8526
% M a g i c k S e p a r a t e I m a g e C h a n n e l %
9566
% M a g i c k S e t I m a g e P i x e l s %
9570
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9572
% MagickSetImagePixels() accepts pixel datand stores it in the image at the
9573
% location you specify. The method returns MagickFalse on success otherwise
9574
% MagickTrue if an error is encountered. The pixel data can be either char,
9575
% short int, int, long, float, or double in the order specified by map.
9577
% Suppose your want to upload the first scanline of a 640x480 image from
9578
% character data in red-green-blue order:
9580
% MagickSetImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);
9582
% The format of the MagickSetImagePixels method is:
9584
% MagickBooleanType MagickSetImagePixels(MagickWand *wand,
9585
% const long x,const long y,const unsigned long columns,
9586
% const unsigned long rows,const char *map,const StorageType storage,
9587
% const void *pixels)
9589
% A description of each parameter follows:
9591
% o wand: the magick wand.
9593
% o x, y, columns, rows: These values define the perimeter of a region
9594
% of pixels you want to define.
9596
% o map: This string reflects the expected ordering of the pixel array.
9597
% It can be any combination or order of R = red, G = green, B = blue,
9598
% A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan,
9599
% Y = yellow, M = magenta, K = black, I = intensity (for grayscale),
9602
% o storage: Define the data type of the pixels. Float and double types are
9603
% expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from
9604
% these types: CharPixel, ShortPixel, IntegerPixel, LongPixel, FloatPixel,
9607
% o pixels: This array of values contain the pixel components as defined by
9608
% map and type. You must preallocate this array where the expected
9609
% length varies depending on the values of width, height, map, and type.
9613
WandExport MagickBooleanType MagickSetImagePixels(MagickWand *wand,
9614
const long x,const long y,const unsigned long columns,
9615
const unsigned long rows,const char *map,const StorageType storage,
9621
assert(wand != (MagickWand *) NULL);
9622
assert(wand->signature == WandSignature);
9623
if (wand->debug != MagickFalse)
9624
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
9625
if (wand->images == (Image *) NULL)
9626
ThrowWandException(WandError,"ContainsNoImages",wand->name);
9627
status=ImportImagePixels(wand->images,x,y,columns,rows,map,storage,pixels);
9628
if (status == MagickFalse)
9629
InheritException(wand->exception,&wand->images->exception);
9634
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9638
9835
% M a g i c k S e t I m a g e P r o g r e s s M o n i t o r %
10169
% M a g i c k S e t I m a g e V i r t u a l P i x e l M e t h o d %
10173
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10175
% MagickSetImageVirtualPixelMethod() sets the image virtual pixel method.
10177
% The format of the MagickSetImageVirtualPixelMethod method is:
10179
% VirtualPixelMethod MagickSetImageVirtualPixelMethod(MagickWand *wand,
10180
% const VirtualPixelMethod method)
10182
% A description of each parameter follows:
10184
% o wand: the magick wand.
10186
% o method: the image virtual pixel method : UndefinedVirtualPixelMethod,
10187
% ConstantVirtualPixelMethod, EdgeVirtualPixelMethod,
10188
% MirrorVirtualPixelMethod, or TileVirtualPixelMethod.
10191
WandExport VirtualPixelMethod MagickSetImageVirtualPixelMethod(MagickWand *wand,
10192
const VirtualPixelMethod method)
10194
assert(wand != (MagickWand *) NULL);
10195
assert(wand->signature == WandSignature);
10196
if (wand->debug != MagickFalse)
10197
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
10198
if (wand->images == (Image *) NULL)
10199
return(UndefinedVirtualPixelMethod);
10200
return(SetImageVirtualPixelMethod(wand->images,method));
10204
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9972
10208
% M a g i c k S e t I m a g e W h i t e P o i n t %