2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 % PPPP IIIII X X EEEEE L %
10 % P IIIII X X EEEEE LLLLL %
14 % W W W AAAAA N N N D D %
15 % WW WW A A N NN D D %
19 % MagickWand Image Pixel Wand Methods %
26 % Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization %
27 % dedicated to making software imaging solutions freely available. %
29 % You may not use this file except in compliance with the License. You may %
30 % obtain a copy of the License at %
32 % http://www.imagemagick.org/script/license.php %
34 % Unless required by applicable law or agreed to in writing, software %
35 % distributed under the License is distributed on an "AS IS" BASIS, %
36 % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. %
37 % See the License for the specific language governing permissions and %
38 % limitations under the License. %
40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 #include "wand/studio.h"
50 #include "wand/MagickWand.h"
51 #include "wand/magick-wand-private.h"
52 #include "wand/pixel-wand-private.h"
53 #include "wand/wand.h"
58 #define PixelWandId "PixelWand"
88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
92 % C l e a r P i x e l W a n d %
96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98 % ClearPixelWand() clears resources associated with the wand.
100 % The format of the ClearPixelWand method is:
102 % void ClearPixelWand(PixelWand *wand)
104 % A description of each parameter follows:
106 % o wand: the pixel wand.
109 WandExport void ClearPixelWand(PixelWand *wand)
111 assert(wand != (PixelWand *) NULL);
112 assert(wand->signature == WandSignature);
113 if (wand->debug != MagickFalse)
114 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
115 ClearMagickException(wand->exception);
116 wand->pixel.colorspace=RGBColorspace;
117 wand->debug=IsEventLogging();
121 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
125 % C l o n e P i x e l W a n d %
129 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131 % ClonePixelWand() makes an exact copy of the specified wand.
133 % The format of the ClonePixelWand method is:
135 % PixelWand *ClonePixelWand(const PixelWand *wand)
137 % A description of each parameter follows:
139 % o wand: the magick wand.
142 WandExport PixelWand *ClonePixelWand(const PixelWand *wand)
147 assert(wand != (PixelWand *) NULL);
148 assert(wand->signature == WandSignature);
149 if (wand->debug != MagickFalse)
150 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
151 clone_wand=(PixelWand *) AcquireMagickMemory(sizeof(*clone_wand));
152 if (clone_wand == (PixelWand *) NULL)
153 ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed",
155 (void) ResetMagickMemory(clone_wand,0,sizeof(*clone_wand));
156 clone_wand->id=AcquireWandId();
157 (void) FormatMagickString(clone_wand->name,MaxTextExtent,"%s-%.20g",
158 PixelWandId,(double) clone_wand->id);
159 clone_wand->exception=AcquireExceptionInfo();
160 InheritException(clone_wand->exception,wand->exception);
161 clone_wand->pixel=wand->pixel;
162 clone_wand->count=wand->count;
163 clone_wand->debug=IsEventLogging();
164 if (clone_wand->debug != MagickFalse)
165 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",clone_wand->name);
166 clone_wand->signature=WandSignature;
171 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175 % C l o n e P i x e l W a n d s %
179 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 % ClonePixelWands() makes an exact copy of the specified wands.
183 % The format of the ClonePixelWands method is:
185 % PixelWand **ClonePixelWands(const PixelWand **wands,
186 % const size_t number_wands)
188 % A description of each parameter follows:
190 % o wands: the magick wands.
192 % o number_wands: the number of wands.
195 WandExport PixelWand **ClonePixelWands(const PixelWand **wands,
196 const size_t number_wands)
204 clone_wands=(PixelWand **) AcquireQuantumMemory((size_t) number_wands,
205 sizeof(*clone_wands));
206 if (clone_wands == (PixelWand **) NULL)
207 ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed",
208 GetExceptionMessage(errno));
209 for (i=0; i < (ssize_t) number_wands; i++)
210 clone_wands[i]=ClonePixelWand(wands[i]);
215 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219 % D e s t r o y P i x e l W a n d %
223 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
225 % DestroyPixelWand() deallocates resources associated with a PixelWand.
227 % The format of the DestroyPixelWand method is:
229 % PixelWand *DestroyPixelWand(PixelWand *wand)
231 % A description of each parameter follows:
233 % o wand: the pixel wand.
236 WandExport PixelWand *DestroyPixelWand(PixelWand *wand)
238 assert(wand != (PixelWand *) NULL);
239 assert(wand->signature == WandSignature);
240 if (wand->debug != MagickFalse)
241 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
242 wand->exception=DestroyExceptionInfo(wand->exception);
243 wand->signature=(~WandSignature);
244 RelinquishWandId(wand->id);
245 wand=(PixelWand *) RelinquishMagickMemory(wand);
250 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
254 % D e s t r o y P i x e l W a n d s %
258 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
260 % DestroyPixelWands() deallocates resources associated with an array of
263 % The format of the DestroyPixelWands method is:
265 % PixelWand **DestroyPixelWands(PixelWand **wand,
266 % const size_t number_wands)
268 % A description of each parameter follows:
270 % o wand: the pixel wand.
272 % o number_wands: the number of wands.
275 WandExport PixelWand **DestroyPixelWands(PixelWand **wand,
276 const size_t number_wands)
281 assert(wand != (PixelWand **) NULL);
282 assert(*wand != (PixelWand *) NULL);
283 assert((*wand)->signature == WandSignature);
284 if ((*wand)->debug != MagickFalse)
285 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",(*wand)->name);
286 for (i=(ssize_t) number_wands-1; i >= 0; i--)
287 wand[i]=DestroyPixelWand(wand[i]);
288 wand=(PixelWand **) RelinquishMagickMemory(wand);
293 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297 % I s P i x e l W a n d S i m i l a r %
301 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
303 % IsPixelWandSimilar() returns MagickTrue if the distance between two
304 % colors is less than the specified distance.
306 % The format of the IsPixelWandSimilar method is:
308 % MagickBooleanType IsPixelWandSimilar(PixelWand *p,PixelWand *q,
311 % A description of each parameter follows:
313 % o p: the pixel wand.
315 % o q: the pixel wand.
317 % o fuzz: any two colors that are less than or equal to this distance
318 % squared are consider similar.
321 WandExport MagickBooleanType IsPixelWandSimilar(PixelWand *p,PixelWand *q,
324 assert(p != (PixelWand *) NULL);
325 assert(p->signature == WandSignature);
326 if (p->debug != MagickFalse)
327 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",p->name);
328 assert(q != (PixelWand *) NULL);
329 assert(q->signature == WandSignature);
330 if (q->debug != MagickFalse)
331 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",q->name);
334 return(IsMagickColorSimilar(&p->pixel,&q->pixel));
338 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
342 % I s P i x e l W a n d %
346 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
348 % IsPixelWand() returns MagickTrue if the wand is verified as a pixel wand.
350 % The format of the IsPixelWand method is:
352 % MagickBooleanType IsPixelWand(const PixelWand *wand)
354 % A description of each parameter follows:
356 % o wand: the magick wand.
359 WandExport MagickBooleanType IsPixelWand(const PixelWand *wand)
361 if (wand == (const PixelWand *) NULL)
363 if (wand->signature != WandSignature)
365 if (LocaleNCompare(wand->name,PixelWandId,strlen(PixelWandId)) != 0)
371 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
375 % N e w P i x e l W a n d %
379 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
381 % NewPixelWand() returns a new pixel wand.
383 % The format of the NewPixelWand method is:
385 % PixelWand *NewPixelWand(void)
388 WandExport PixelWand *NewPixelWand(void)
399 depth=MAGICKCORE_QUANTUM_DEPTH;
400 quantum=GetMagickQuantumDepth(&depth);
401 if (depth != MAGICKCORE_QUANTUM_DEPTH)
402 ThrowWandFatalException(WandError,"QuantumDepthMismatch",quantum);
403 wand=(PixelWand *) AcquireMagickMemory(sizeof(*wand));
404 if (wand == (PixelWand *) NULL)
405 ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed",
406 GetExceptionMessage(errno));
407 (void) ResetMagickMemory(wand,0,sizeof(*wand));
408 wand->id=AcquireWandId();
409 (void) FormatMagickString(wand->name,MaxTextExtent,"%s-%.20g",PixelWandId,
411 wand->exception=AcquireExceptionInfo();
412 GetMagickPixelPacket((Image *) NULL,&wand->pixel);
413 wand->debug=IsEventLogging();
414 if (wand->debug != MagickFalse)
415 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
416 wand->signature=WandSignature;
421 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
425 % N e w P i x e l W a n d s %
429 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
431 % NewPixelWands() returns an array of pixel wands.
433 % The format of the NewPixelWands method is:
435 % PixelWand **NewPixelWands(const size_t number_wands)
437 % A description of each parameter follows:
439 % o number_wands: the number of wands.
442 WandExport PixelWand **NewPixelWands(const size_t number_wands)
450 wands=(PixelWand **) AcquireQuantumMemory((size_t) number_wands,
452 if (wands == (PixelWand **) NULL)
453 ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed",
454 GetExceptionMessage(errno));
455 for (i=0; i < (ssize_t) number_wands; i++)
456 wands[i]=NewPixelWand();
461 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
465 % P i x e l C l e a r E x c e p t i o n %
469 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
471 % PixelClearException() clear any exceptions associated with the iterator.
473 % The format of the PixelClearException method is:
475 % MagickBooleanType PixelClearException(PixelWand *wand)
477 % A description of each parameter follows:
479 % o wand: the pixel wand.
482 WandExport MagickBooleanType PixelClearException(PixelWand *wand)
484 assert(wand != (PixelWand *) NULL);
485 assert(wand->signature == WandSignature);
486 if (wand->debug != MagickFalse)
487 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
488 ClearMagickException(wand->exception);
493 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
497 % P i x e l G e t A l p h a %
501 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
503 % PixelGetAlpha() returns the normalized alpha color of the pixel wand.
505 % The format of the PixelGetAlpha method is:
507 % double PixelGetAlpha(const PixelWand *wand)
509 % A description of each parameter follows:
511 % o wand: the pixel wand.
514 WandExport double PixelGetAlpha(const PixelWand *wand)
516 assert(wand != (const PixelWand *) NULL);
517 assert(wand->signature == WandSignature);
518 if (wand->debug != MagickFalse)
519 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
520 return((double) QuantumScale*(QuantumRange-wand->pixel.opacity));
524 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
528 % P i x e l G e t A l p h a Q u a n t u m %
532 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 % PixelGetAlphaQuantum() returns the alpha value of the pixel wand.
536 % The format of the PixelGetAlphaQuantum method is:
538 % Quantum PixelGetAlphaQuantum(const PixelWand *wand)
540 % A description of each parameter follows:
542 % o wand: the pixel wand.
545 WandExport Quantum PixelGetAlphaQuantum(const PixelWand *wand)
547 assert(wand != (const PixelWand *) NULL);
548 assert(wand->signature == WandSignature);
549 if (wand->debug != MagickFalse)
550 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
551 return((Quantum) QuantumRange-ClampToQuantum(wand->pixel.opacity));
555 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
559 % P i x e l G e t B l a c k %
563 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
565 % PixelGetBlack() returns the normalized black color of the pixel wand.
567 % The format of the PixelGetBlack method is:
569 % double PixelGetBlack(const PixelWand *wand)
571 % A description of each parameter follows:
573 % o wand: the pixel wand.
576 WandExport double PixelGetBlack(const PixelWand *wand)
578 assert(wand != (const PixelWand *) NULL);
579 assert(wand->signature == WandSignature);
580 if (wand->debug != MagickFalse)
581 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
582 return((double) QuantumScale*wand->pixel.index);
586 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
590 % P i x e l G e t B l a c k Q u a n t u m %
594 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596 % PixelGetBlackQuantum() returns the black color of the pixel wand.
598 % The format of the PixelGetBlackQuantum method is:
600 % Quantum PixelGetBlackQuantum(const PixelWand *wand)
602 % A description of each parameter follows:
604 % o wand: the pixel wand.
607 WandExport Quantum PixelGetBlackQuantum(const PixelWand *wand)
609 assert(wand != (const PixelWand *) NULL);
610 assert(wand->signature == WandSignature);
611 if (wand->debug != MagickFalse)
612 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
613 return(ClampToQuantum(wand->pixel.index));
617 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
621 % P i x e l G e t B l u e %
625 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
627 % PixelGetBlue() returns the normalized blue color of the pixel wand.
629 % The format of the PixelGetBlue method is:
631 % double PixelGetBlue(const PixelWand *wand)
633 % A description of each parameter follows:
635 % o wand: the pixel wand.
638 WandExport double PixelGetBlue(const PixelWand *wand)
640 assert(wand != (const PixelWand *) NULL);
641 assert(wand->signature == WandSignature);
642 if (wand->debug != MagickFalse)
643 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
644 return((double) QuantumScale*wand->pixel.blue);
648 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
652 % P i x e l G e t B l u e Q u a n t u m %
656 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
658 % PixelGetBlueQuantum() returns the blue color of the pixel wand.
660 % The format of the PixelGetBlueQuantum method is:
662 % Quantum PixelGetBlueQuantum(const PixelWand *wand)
664 % A description of each parameter follows:
666 % o wand: the pixel wand.
669 WandExport Quantum PixelGetBlueQuantum(const PixelWand *wand)
671 assert(wand != (const PixelWand *) NULL);
672 assert(wand->signature == WandSignature);
673 if (wand->debug != MagickFalse)
674 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
675 return(ClampToQuantum(wand->pixel.blue));
679 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
683 % P i x e l G e t C o l o r A s S t r i n g %
687 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
689 % PixelGetColorAsString() returnsd the color of the pixel wand as a string.
691 % The format of the PixelGetColorAsString method is:
693 % char *PixelGetColorAsString(PixelWand *wand)
695 % A description of each parameter follows:
697 % o wand: the pixel wand.
700 WandExport char *PixelGetColorAsString(const PixelWand *wand)
708 assert(wand != (const PixelWand *) NULL);
709 assert(wand->signature == WandSignature);
710 if (wand->debug != MagickFalse)
711 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
713 color=AcquireString((const char *) NULL);
714 GetColorTuple(&pixel,MagickFalse,color);
719 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
723 % P i x e l G e t C o l o r A s N o r m a l i z e d S t r i n g %
727 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
729 % PixelGetColorAsNormalizedString() returns the normalized color of the pixel
732 % The format of the PixelGetColorAsNormalizedString method is:
734 % char *PixelGetColorAsNormalizedString(PixelWand *wand)
736 % A description of each parameter follows:
738 % o wand: the pixel wand.
741 WandExport char *PixelGetColorAsNormalizedString(const PixelWand *wand)
744 color[MaxTextExtent];
746 assert(wand != (const PixelWand *) NULL);
747 assert(wand->signature == WandSignature);
748 if (wand->debug != MagickFalse)
749 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
750 (void) FormatMagickString(color,MaxTextExtent,"%g,%g,%g",
751 (double) (QuantumScale*wand->pixel.red),
752 (double) (QuantumScale*wand->pixel.green),
753 (double) (QuantumScale*wand->pixel.blue));
754 if (wand->pixel.colorspace == CMYKColorspace)
755 (void) FormatMagickString(color+strlen(color),MaxTextExtent,",%g",
756 (double) (QuantumScale*wand->pixel.index));
757 if (wand->pixel.matte != MagickFalse)
758 (void) FormatMagickString(color+strlen(color),MaxTextExtent,",%g",
759 (double) (QuantumScale*wand->pixel.opacity));
760 return(ConstantString(color));
764 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
768 % P i x e l G e t C o l o r C o u n t %
772 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
774 % PixelGetColorCount() returns the color count associated with this color.
776 % The format of the PixelGetColorCount method is:
778 % size_t PixelGetColorCount(const PixelWand *wand)
780 % A description of each parameter follows:
782 % o wand: the pixel wand.
785 WandExport size_t PixelGetColorCount(const PixelWand *wand)
787 assert(wand != (const PixelWand *) NULL);
788 assert(wand->signature == WandSignature);
789 if (wand->debug != MagickFalse)
790 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
795 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
799 % P i x e l G e t C y a n %
803 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
805 % PixelGetCyan() returns the normalized cyan color of the pixel wand.
807 % The format of the PixelGetCyan method is:
809 % double PixelGetCyan(const PixelWand *wand)
811 % A description of each parameter follows:
813 % o wand: the pixel wand.
816 WandExport double PixelGetCyan(const PixelWand *wand)
818 assert(wand != (const PixelWand *) NULL);
819 assert(wand->signature == WandSignature);
820 if (wand->debug != MagickFalse)
821 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
822 return((double) QuantumScale*wand->pixel.red);
826 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
830 % P i x e l G e t C y a n Q u a n t u m %
834 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
836 % PixelGetCyanQuantum() returns the cyan color of the pixel wand.
838 % The format of the PixelGetCyanQuantum method is:
840 % Quantum PixelGetCyanQuantum(const PixelWand *wand)
842 % A description of each parameter follows:
844 % o wand: the pixel wand.
847 WandExport Quantum PixelGetCyanQuantum(const PixelWand *wand)
849 assert(wand != (const PixelWand *) NULL);
850 assert(wand->signature == WandSignature);
851 if (wand->debug != MagickFalse)
852 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
853 return(ClampToQuantum(wand->pixel.red));
857 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
861 % P i x e l G e t E x c e p t i o n %
865 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
867 % PixelGetException() returns the severity, reason, and description of any
868 % error that occurs when using other methods in this API.
870 % The format of the PixelGetException method is:
872 % char *PixelGetException(const PixelWand *wand,ExceptionType *severity)
874 % A description of each parameter follows:
876 % o wand: the pixel wand.
878 % o severity: the severity of the error is returned here.
881 WandExport char *PixelGetException(const PixelWand *wand,
882 ExceptionType *severity)
887 assert(wand != (const PixelWand *) NULL);
888 assert(wand->signature == WandSignature);
889 if (wand->debug != MagickFalse)
890 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
891 assert(severity != (ExceptionType *) NULL);
892 *severity=wand->exception->severity;
893 description=(char *) AcquireQuantumMemory(2UL*MaxTextExtent,
894 sizeof(*description));
895 if (description == (char *) NULL)
896 ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed",
899 if (wand->exception->reason != (char *) NULL)
900 (void) CopyMagickString(description,GetLocaleExceptionMessage(
901 wand->exception->severity,wand->exception->reason),MaxTextExtent);
902 if (wand->exception->description != (char *) NULL)
904 (void) ConcatenateMagickString(description," (",MaxTextExtent);
905 (void) ConcatenateMagickString(description,GetLocaleExceptionMessage(
906 wand->exception->severity,wand->exception->description),MaxTextExtent);
907 (void) ConcatenateMagickString(description,")",MaxTextExtent);
913 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
917 % P i x e l G e t E x c e p t i o n T y p e %
921 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
923 % PixelGetExceptionType() the exception type associated with the wand. If
924 % no exception has occurred, UndefinedExceptionType is returned.
926 % The format of the PixelGetExceptionType method is:
928 % ExceptionType PixelGetExceptionType(const PixelWand *wand)
930 % A description of each parameter follows:
932 % o wand: the magick wand.
935 WandExport ExceptionType PixelGetExceptionType(const PixelWand *wand)
937 assert(wand != (const PixelWand *) NULL);
938 assert(wand->signature == WandSignature);
939 if (wand->debug != MagickFalse)
940 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
941 return(wand->exception->severity);
945 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
949 % P i x e l G e t F u z z %
953 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
955 % PixelGetFuzz() returns the normalized fuzz value of the pixel wand.
957 % The format of the PixelGetFuzz method is:
959 % double PixelGetFuzz(const PixelWand *wand)
961 % A description of each parameter follows:
963 % o wand: the pixel wand.
966 WandExport double PixelGetFuzz(const PixelWand *wand)
968 assert(wand != (const PixelWand *) NULL);
969 assert(wand->signature == WandSignature);
970 if (wand->debug != MagickFalse)
971 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
972 return((double) wand->pixel.fuzz);
976 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
980 % P i x e l G e t G r e e n %
984 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
986 % PixelGetGreen() returns the normalized green color of the pixel wand.
988 % The format of the PixelGetGreen method is:
990 % double PixelGetGreen(const PixelWand *wand)
992 % A description of each parameter follows:
994 % o wand: the pixel wand.
997 WandExport double PixelGetGreen(const PixelWand *wand)
999 assert(wand != (const PixelWand *) NULL);
1000 assert(wand->signature == WandSignature);
1001 if (wand->debug != MagickFalse)
1002 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1003 return((double) QuantumScale*wand->pixel.green);
1007 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1011 % P i x e l G e t G r e e n Q u a n t u m %
1015 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1017 % PixelGetGreenQuantum() returns the green color of the pixel wand.
1019 % The format of the PixelGetGreenQuantum method is:
1021 % Quantum PixelGetGreenQuantum(const PixelWand *wand)
1023 % A description of each parameter follows:
1025 % o wand: the pixel wand.
1028 WandExport Quantum PixelGetGreenQuantum(const PixelWand *wand)
1030 assert(wand != (const PixelWand *) NULL);
1031 assert(wand->signature == WandSignature);
1032 if (wand->debug != MagickFalse)
1033 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1034 return(ClampToQuantum(wand->pixel.green));
1038 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1042 % P i x e l G e t H S L %
1046 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1048 % PixelGetHSL() returns the normalized HSL color of the pixel wand.
1050 % The format of the PixelGetHSL method is:
1052 % void PixelGetHSL(const PixelWand *wand,double *hue,double *saturation,
1053 % double *lightness)
1055 % A description of each parameter follows:
1057 % o wand: the pixel wand.
1059 % o hue,saturation,lightness: Return the pixel hue, saturation, and
1063 WandExport void PixelGetHSL(const PixelWand *wand,double *hue,
1064 double *saturation,double *lightness)
1066 assert(wand != (const PixelWand *) NULL);
1067 assert(wand->signature == WandSignature);
1068 if (wand->debug != MagickFalse)
1069 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1070 ConvertRGBToHSL(ClampToQuantum(wand->pixel.red),ClampToQuantum(
1071 wand->pixel.green),ClampToQuantum(wand->pixel.blue),hue,saturation,
1076 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1080 % P i x e l G e t I n d e x %
1084 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1086 % PixelGetIndex() returns the colormap index from the pixel wand.
1088 % The format of the PixelGetIndex method is:
1090 % IndexPacket PixelGetIndex(const PixelWand *wand)
1092 % A description of each parameter follows:
1094 % o wand: the pixel wand.
1097 WandExport IndexPacket PixelGetIndex(const PixelWand *wand)
1099 assert(wand != (const PixelWand *) NULL);
1100 assert(wand->signature == WandSignature);
1101 if (wand->debug != MagickFalse)
1102 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1103 return((IndexPacket) wand->pixel.index);
1107 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1111 % P i x e l G e t M a g e n t a %
1115 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1117 % PixelGetMagenta() returns the normalized magenta color of the pixel wand.
1119 % The format of the PixelGetMagenta method is:
1121 % double PixelGetMagenta(const PixelWand *wand)
1123 % A description of each parameter follows:
1125 % o wand: the pixel wand.
1128 WandExport double PixelGetMagenta(const PixelWand *wand)
1130 assert(wand != (const PixelWand *) NULL);
1131 assert(wand->signature == WandSignature);
1132 if (wand->debug != MagickFalse)
1133 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1134 return((double) QuantumScale*wand->pixel.green);
1138 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1142 % P i x e l G e t M a g e n t a Q u a n t u m %
1146 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1148 % PixelGetMagentaQuantum() returns the magenta color of the pixel wand.
1150 % The format of the PixelGetMagentaQuantum method is:
1152 % Quantum PixelGetMagentaQuantum(const PixelWand *wand)
1154 % A description of each parameter follows:
1156 % o wand: the pixel wand.
1159 WandExport Quantum PixelGetMagentaQuantum(const PixelWand *wand)
1161 assert(wand != (const PixelWand *) NULL);
1162 assert(wand->signature == WandSignature);
1163 if (wand->debug != MagickFalse)
1164 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1165 return(ClampToQuantum(wand->pixel.green));
1169 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1173 + P i x e l G e t M a g i c k C o l o r %
1177 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1179 % PixelGetMagickColor() gets the magick color of the pixel wand.
1181 % The format of the PixelGetMagickColor method is:
1183 % void PixelGetMagickColor(PixelWand *wand,MagickPixelPacket *color)
1185 % A description of each parameter follows:
1187 % o wand: the pixel wand.
1189 % o color: The pixel wand color is returned here.
1192 WandExport void PixelGetMagickColor(const PixelWand *wand,
1193 MagickPixelPacket *color)
1195 assert(wand != (const PixelWand *) NULL);
1196 assert(wand->signature == WandSignature);
1197 if (wand->debug != MagickFalse)
1198 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1199 assert(color != (MagickPixelPacket *) NULL);
1204 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1208 % P i x e l G e t O p a c i t y %
1212 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1214 % PixelGetOpacity() returns the normalized opacity color of the pixel wand.
1216 % The format of the PixelGetOpacity method is:
1218 % double PixelGetOpacity(const PixelWand *wand)
1220 % A description of each parameter follows:
1222 % o wand: the pixel wand.
1225 WandExport double PixelGetOpacity(const PixelWand *wand)
1227 assert(wand != (const PixelWand *) NULL);
1228 assert(wand->signature == WandSignature);
1229 if (wand->debug != MagickFalse)
1230 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1231 return((double) QuantumScale*wand->pixel.opacity);
1235 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1239 % P i x e l G e t O p a c i t y Q u a n t u m %
1243 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1245 % PixelGetOpacityQuantum() returns the opacity color of the pixel wand.
1247 % The format of the PixelGetOpacityQuantum method is:
1249 % Quantum PixelGetOpacityQuantum(const PixelWand *wand)
1251 % A description of each parameter follows:
1253 % o wand: the pixel wand.
1256 WandExport Quantum PixelGetOpacityQuantum(const PixelWand *wand)
1258 assert(wand != (const PixelWand *) NULL);
1259 assert(wand->signature == WandSignature);
1260 if (wand->debug != MagickFalse)
1261 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1262 return(ClampToQuantum(wand->pixel.opacity));
1266 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1270 % P i x e l G e t Q u a n t u m C o l o r %
1274 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1276 % PixelGetQuantumColor() gets the color of the pixel wand as a PixelPacket.
1278 % The format of the PixelGetQuantumColor method is:
1280 % void PixelGetQuantumColor(PixelWand *wand,PixelPacket *color)
1282 % A description of each parameter follows:
1284 % o wand: the pixel wand.
1286 % o color: The pixel wand color is returned here.
1289 WandExport void PixelGetQuantumColor(const PixelWand *wand,PixelPacket *color)
1291 assert(wand != (const PixelWand *) NULL);
1292 assert(wand->signature == WandSignature);
1293 if (wand->debug != MagickFalse)
1294 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1295 assert(color != (PixelPacket *) NULL);
1296 color->opacity=ClampToQuantum(wand->pixel.opacity);
1297 if (wand->pixel.colorspace == CMYKColorspace)
1299 color->red=ClampToQuantum((MagickRealType) QuantumRange-
1300 (wand->pixel.red*(QuantumRange-wand->pixel.index)+wand->pixel.index));
1301 color->green=ClampToQuantum((MagickRealType) QuantumRange-
1302 (wand->pixel.green*(QuantumRange-wand->pixel.index)+wand->pixel.index));
1303 color->blue=ClampToQuantum((MagickRealType) QuantumRange-
1304 (wand->pixel.blue*(QuantumRange-wand->pixel.index)+wand->pixel.index));
1307 color->red=ClampToQuantum(wand->pixel.red);
1308 color->green=ClampToQuantum(wand->pixel.green);
1309 color->blue=ClampToQuantum(wand->pixel.blue);
1313 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1317 % P i x e l G e t R e d %
1321 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1323 % PixelGetRed() returns the normalized red color of the pixel wand.
1325 % The format of the PixelGetRed method is:
1327 % double PixelGetRed(const PixelWand *wand)
1329 % A description of each parameter follows:
1331 % o wand: the pixel wand.
1334 WandExport double PixelGetRed(const PixelWand *wand)
1336 assert(wand != (const PixelWand *) NULL);
1337 assert(wand->signature == WandSignature);
1338 if (wand->debug != MagickFalse)
1339 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1340 return((double) QuantumScale*wand->pixel.red);
1344 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1348 % P i x e l G e t R e d Q u a n t u m %
1352 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1354 % PixelGetRedQuantum() returns the red color of the pixel wand.
1356 % The format of the PixelGetRedQuantum method is:
1358 % Quantum PixelGetRedQuantum(const PixelWand *wand)
1360 % A description of each parameter follows:
1362 % o wand: the pixel wand.
1365 WandExport Quantum PixelGetRedQuantum(const PixelWand *wand)
1367 assert(wand != (const PixelWand *) NULL);
1368 assert(wand->signature == WandSignature);
1369 if (wand->debug != MagickFalse)
1370 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1371 return(ClampToQuantum(wand->pixel.red));
1375 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1379 % P i x e l G e t Y e l l o w %
1383 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1385 % PixelGetYellow() returns the normalized yellow color of the pixel wand.
1387 % The format of the PixelGetYellow method is:
1389 % double PixelGetYellow(const PixelWand *wand)
1391 % A description of each parameter follows:
1393 % o wand: the pixel wand.
1396 WandExport double PixelGetYellow(const PixelWand *wand)
1398 assert(wand != (const PixelWand *) NULL);
1399 assert(wand->signature == WandSignature);
1400 if (wand->debug != MagickFalse)
1401 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1402 return((double) QuantumScale*wand->pixel.blue);
1406 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1410 % P i x e l G e t Y e l l o w Q u a n t u m %
1414 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1416 % PixelGetYellowQuantum() returns the yellow color of the pixel wand.
1418 % The format of the PixelGetYellowQuantum method is:
1420 % Quantum PixelGetYellowQuantum(const PixelWand *wand)
1422 % A description of each parameter follows:
1424 % o wand: the pixel wand.
1427 WandExport Quantum PixelGetYellowQuantum(const PixelWand *wand)
1429 assert(wand != (const PixelWand *) NULL);
1430 assert(wand->signature == WandSignature);
1431 if (wand->debug != MagickFalse)
1432 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1433 return(ClampToQuantum(wand->pixel.blue));
1437 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1441 % P i x e l S e t A l p h a %
1445 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1447 % PixelSetAlpha() sets the normalized alpha color of the pixel wand.
1449 % The format of the PixelSetAlpha method is:
1451 % void PixelSetAlpha(PixelWand *wand,const double alpha)
1453 % A description of each parameter follows:
1455 % o wand: the pixel wand.
1457 % o alpha: the level of transparency: 1.0 is fully opaque and 0.0 is fully
1461 WandExport void PixelSetAlpha(PixelWand *wand,const double alpha)
1463 assert(wand != (const PixelWand *) NULL);
1464 assert(wand->signature == WandSignature);
1465 if (wand->debug != MagickFalse)
1466 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1467 wand->pixel.opacity=(MagickRealType) (QuantumRange-
1468 ClampToQuantum((MagickRealType) QuantumRange*alpha));
1472 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1476 % P i x e l S e t A l p h a Q u a n t u m %
1480 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1482 % PixelSetAlphaQuantum() sets the alpha color of the pixel wand.
1484 % The format of the PixelSetAlphaQuantum method is:
1486 % void PixelSetAlphaQuantum(PixelWand *wand,
1487 % const Quantum opacity)
1489 % A description of each parameter follows:
1491 % o wand: the pixel wand.
1493 % o opacity: the opacity color.
1496 WandExport void PixelSetAlphaQuantum(PixelWand *wand,const Quantum opacity)
1498 assert(wand != (const PixelWand *) NULL);
1499 assert(wand->signature == WandSignature);
1500 if (wand->debug != MagickFalse)
1501 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1502 wand->pixel.opacity=(MagickRealType) (QuantumRange-opacity);
1506 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1510 % P i x e l S e t B l a c k %
1514 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1516 % PixelSetBlack() sets the normalized black color of the pixel wand.
1518 % The format of the PixelSetBlack method is:
1520 % void PixelSetBlack(PixelWand *wand,const double black)
1522 % A description of each parameter follows:
1524 % o wand: the pixel wand.
1526 % o black: the black color.
1529 WandExport void PixelSetBlack(PixelWand *wand,const double black)
1531 assert(wand != (const PixelWand *) NULL);
1532 assert(wand->signature == WandSignature);
1533 if (wand->debug != MagickFalse)
1534 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1535 wand->pixel.index=(MagickRealType) ClampToQuantum((MagickRealType)
1536 QuantumRange*black);
1540 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1544 % P i x e l S e t B l a c k Q u a n t u m %
1548 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1550 % PixelSetBlackQuantum() sets the black color of the pixel wand.
1552 % The format of the PixelSetBlackQuantum method is:
1554 % void PixelSetBlackQuantum(PixelWand *wand,const Quantum black)
1556 % A description of each parameter follows:
1558 % o wand: the pixel wand.
1560 % o black: the black color.
1563 WandExport void PixelSetBlackQuantum(PixelWand *wand,const Quantum black)
1565 assert(wand != (const PixelWand *) NULL);
1566 assert(wand->signature == WandSignature);
1567 if (wand->debug != MagickFalse)
1568 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1569 wand->pixel.index=(MagickRealType) black;
1573 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1577 % P i x e l S e t B l u e %
1581 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1583 % PixelSetBlue() sets the normalized blue color of the pixel wand.
1585 % The format of the PixelSetBlue method is:
1587 % void PixelSetBlue(PixelWand *wand,const double blue)
1589 % A description of each parameter follows:
1591 % o wand: the pixel wand.
1593 % o blue: the blue color.
1596 WandExport void PixelSetBlue(PixelWand *wand,const double blue)
1598 assert(wand != (const PixelWand *) NULL);
1599 assert(wand->signature == WandSignature);
1600 if (wand->debug != MagickFalse)
1601 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1602 wand->pixel.blue=(MagickRealType) ClampToQuantum((MagickRealType)
1607 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1611 % P i x e l S e t B l u e Q u a n t u m %
1615 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1617 % PixelSetBlueQuantum() sets the blue color of the pixel wand.
1619 % The format of the PixelSetBlueQuantum method is:
1621 % void PixelSetBlueQuantum(PixelWand *wand,const Quantum blue)
1623 % A description of each parameter follows:
1625 % o wand: the pixel wand.
1627 % o blue: the blue color.
1630 WandExport void PixelSetBlueQuantum(PixelWand *wand,const Quantum blue)
1632 assert(wand != (const PixelWand *) NULL);
1633 assert(wand->signature == WandSignature);
1634 if (wand->debug != MagickFalse)
1635 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1636 wand->pixel.blue=(MagickRealType) blue;
1640 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1644 % P i x e l S e t C o l o r %
1648 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1650 % PixelSetColor() sets the color of the pixel wand with a string (e.g.
1651 % "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).
1653 % The format of the PixelSetColor method is:
1655 % MagickBooleanType PixelSetColor(PixelWand *wand,const char *color)
1657 % A description of each parameter follows:
1659 % o wand: the pixel wand.
1661 % o color: the pixel wand color.
1664 WandExport MagickBooleanType PixelSetColor(PixelWand *wand,const char *color)
1672 assert(wand != (const PixelWand *) NULL);
1673 assert(wand->signature == WandSignature);
1674 if (wand->debug != MagickFalse)
1675 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1676 status=QueryMagickColor(color,&pixel,wand->exception);
1677 if (status != MagickFalse)
1683 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1687 % P i x e l S e t C o l o r C o u n t %
1691 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1693 % PixelSetColorCount() sets the color count of the pixel wand.
1695 % The format of the PixelSetColorCount method is:
1697 % void PixelSetColorCount(PixelWand *wand,const size_t count)
1699 % A description of each parameter follows:
1701 % o wand: the pixel wand.
1703 % o count: the number of this particular color.
1706 WandExport void PixelSetColorCount(PixelWand *wand,const size_t count)
1708 assert(wand != (const PixelWand *) NULL);
1709 assert(wand->signature == WandSignature);
1710 if (wand->debug != MagickFalse)
1711 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1716 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1720 % P i x e l S e t C o l o r F r o m W a n d %
1724 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1726 % PixelSetColorFromWand() sets the color of the pixel wand.
1728 % The format of the PixelSetColorFromWand method is:
1730 % PixelSetColorFromWand(PixelWand *wand,const PixelWand *color)
1732 % A description of each parameter follows:
1734 % o wand: the pixel wand.
1736 % o color: set the pixel wand color here.
1739 WandExport void PixelSetColorFromWand(PixelWand *wand,const PixelWand *color)
1741 assert(wand != (const PixelWand *) NULL);
1742 assert(wand->signature == WandSignature);
1743 if (wand->debug != MagickFalse)
1744 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1745 assert(color != (const PixelWand *) NULL);
1746 wand->pixel=color->pixel;
1750 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1754 % P i x e l S e t C y a n %
1758 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1760 % PixelSetCyan() sets the normalized cyan color of the pixel wand.
1762 % The format of the PixelSetCyan method is:
1764 % void PixelSetCyan(PixelWand *wand,const double cyan)
1766 % A description of each parameter follows:
1768 % o wand: the pixel wand.
1770 % o cyan: the cyan color.
1773 WandExport void PixelSetCyan(PixelWand *wand,const double cyan)
1775 assert(wand != (const PixelWand *) NULL);
1776 assert(wand->signature == WandSignature);
1777 if (wand->debug != MagickFalse)
1778 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1779 wand->pixel.red=(MagickRealType) ClampToQuantum((MagickRealType)
1784 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1788 % P i x e l S e t C y a n Q u a n t u m %
1792 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1794 % PixelSetCyanQuantum() sets the cyan color of the pixel wand.
1796 % The format of the PixelSetCyanQuantum method is:
1798 % void PixelSetCyanQuantum(PixelWand *wand,const Quantum cyan)
1800 % A description of each parameter follows:
1802 % o wand: the pixel wand.
1804 % o cyan: the cyan color.
1807 WandExport void PixelSetCyanQuantum(PixelWand *wand,const Quantum cyan)
1809 assert(wand != (const PixelWand *) NULL);
1810 assert(wand->signature == WandSignature);
1811 if (wand->debug != MagickFalse)
1812 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1813 wand->pixel.red=(MagickRealType) cyan;
1817 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1821 % P i x e l S e t F u z z %
1825 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1827 % PixelSetFuzz() sets the fuzz value of the pixel wand.
1829 % The format of the PixelSetFuzz method is:
1831 % void PixelSetFuzz(PixelWand *wand,const double fuzz)
1833 % A description of each parameter follows:
1835 % o wand: the pixel wand.
1837 % o fuzz: the fuzz value.
1840 WandExport void PixelSetFuzz(PixelWand *wand,const double fuzz)
1842 assert(wand != (const PixelWand *) NULL);
1843 assert(wand->signature == WandSignature);
1844 if (wand->debug != MagickFalse)
1845 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1846 wand->pixel.fuzz=(MagickRealType) fuzz;
1850 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1854 % P i x e l S e t G r e e n %
1858 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1860 % PixelSetGreen() sets the normalized green color of the pixel wand.
1862 % The format of the PixelSetGreen method is:
1864 % void PixelSetGreen(PixelWand *wand,const double green)
1866 % A description of each parameter follows:
1868 % o wand: the pixel wand.
1870 % o green: the green color.
1873 WandExport void PixelSetGreen(PixelWand *wand,const double green)
1875 assert(wand != (const PixelWand *) NULL);
1876 assert(wand->signature == WandSignature);
1877 if (wand->debug != MagickFalse)
1878 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1879 wand->pixel.green=(MagickRealType) ClampToQuantum((MagickRealType)
1880 QuantumRange*green);
1884 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1888 % P i x e l S e t G r e e n Q u a n t u m %
1892 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1894 % PixelSetGreenQuantum() sets the green color of the pixel wand.
1896 % The format of the PixelSetGreenQuantum method is:
1898 % void PixelSetGreenQuantum(PixelWand *wand,const Quantum green)
1900 % A description of each parameter follows:
1902 % o wand: the pixel wand.
1904 % o green: the green color.
1907 WandExport void PixelSetGreenQuantum(PixelWand *wand,const Quantum green)
1909 assert(wand != (const PixelWand *) NULL);
1910 assert(wand->signature == WandSignature);
1911 if (wand->debug != MagickFalse)
1912 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1913 wand->pixel.green=(MagickRealType) green;
1917 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1921 % P i x e l S e t H S L %
1925 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1927 % PixelSetHSL() sets the normalized HSL color of the pixel wand.
1929 % The format of the PixelSetHSL method is:
1931 % void PixelSetHSL(PixelWand *wand,const double hue,
1932 % const double saturation,const double lightness)
1934 % A description of each parameter follows:
1936 % o wand: the pixel wand.
1938 % o hue,saturation,lightness: Return the pixel hue, saturation, and
1942 WandExport void PixelSetHSL(PixelWand *wand,const double hue,
1943 const double saturation,const double lightness)
1950 assert(wand != (const PixelWand *) NULL);
1951 assert(wand->signature == WandSignature);
1952 if (wand->debug != MagickFalse)
1953 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1954 ConvertHSLToRGB(hue,saturation,lightness,&red,&green,&blue);
1955 wand->pixel.red=(MagickRealType) red;
1956 wand->pixel.green=(MagickRealType) green;
1957 wand->pixel.blue=(MagickRealType) blue;
1961 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1965 % P i x e l S e t I n d e x %
1969 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1971 % PixelSetIndex() sets the colormap index of the pixel wand.
1973 % The format of the PixelSetIndex method is:
1975 % void PixelSetIndex(PixelWand *wand,const IndexPacket index)
1977 % A description of each parameter follows:
1979 % o wand: the pixel wand.
1981 % o index: the colormap index.
1984 WandExport void PixelSetIndex(PixelWand *wand,const IndexPacket index)
1986 assert(wand != (const PixelWand *) NULL);
1987 assert(wand->signature == WandSignature);
1988 if (wand->debug != MagickFalse)
1989 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
1990 wand->pixel.index=(MagickRealType) index;
1994 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1998 % P i x e l S e t M a g e n t a %
2002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2004 % PixelSetMagenta() sets the normalized magenta color of the pixel wand.
2006 % The format of the PixelSetMagenta method is:
2008 % void PixelSetMagenta(PixelWand *wand,const double magenta)
2010 % A description of each parameter follows:
2012 % o wand: the pixel wand.
2014 % o magenta: the magenta color.
2017 WandExport void PixelSetMagenta(PixelWand *wand,const double magenta)
2019 assert(wand != (const PixelWand *) NULL);
2020 assert(wand->signature == WandSignature);
2021 if (wand->debug != MagickFalse)
2022 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2023 wand->pixel.green=(MagickRealType) ClampToQuantum((MagickRealType)
2024 QuantumRange*magenta);
2028 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2032 % P i x e l S e t M a g e n t a Q u a n t u m %
2036 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2038 % PixelSetMagentaQuantum() sets the magenta color of the pixel wand.
2040 % The format of the PixelSetMagentaQuantum method is:
2042 % void PixelSetMagentaQuantum(PixelWand *wand,
2043 % const Quantum magenta)
2045 % A description of each parameter follows:
2047 % o wand: the pixel wand.
2049 % o magenta: the green magenta.
2052 WandExport void PixelSetMagentaQuantum(PixelWand *wand,const Quantum magenta)
2054 assert(wand != (const PixelWand *) NULL);
2055 assert(wand->signature == WandSignature);
2056 if (wand->debug != MagickFalse)
2057 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2058 wand->pixel.green=(MagickRealType) magenta;
2062 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2066 % P i x e l S e t M a g i c k C o l o r %
2070 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2072 % PixelSetMagickColor() sets the color of the pixel wand.
2074 % The format of the PixelSetMagickColor method is:
2076 % PixelSetMagickColor(PixelWand *wand,const MagickPixelPacket *color)
2078 % A description of each parameter follows:
2080 % o wand: the pixel wand.
2082 % o color: the pixel wand color.
2085 WandExport void PixelSetMagickColor(PixelWand *wand,
2086 const MagickPixelPacket *color)
2088 assert(wand != (const PixelWand *) NULL);
2089 assert(wand->signature == WandSignature);
2090 if (wand->debug != MagickFalse)
2091 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2092 assert(color != (const MagickPixelPacket *) NULL);
2093 wand->pixel=(*color);
2097 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2101 % P i x e l S e t O p a c i t y %
2105 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2107 % PixelSetOpacity() sets the normalized opacity color of the pixel wand.
2109 % The format of the PixelSetOpacity method is:
2111 % void PixelSetOpacity(PixelWand *wand,const double opacity)
2113 % A description of each parameter follows:
2115 % o wand: the pixel wand.
2117 % o opacity: the opacity color.
2120 WandExport void PixelSetOpacity(PixelWand *wand,const double opacity)
2122 assert(wand != (const PixelWand *) NULL);
2123 assert(wand->signature == WandSignature);
2124 if (wand->debug != MagickFalse)
2125 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2126 wand->pixel.matte=MagickTrue;
2127 wand->pixel.opacity=(MagickRealType) ClampToQuantum((MagickRealType)
2128 QuantumRange*opacity);
2132 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2136 % P i x e l S e t O p a c i t y Q u a n t u m %
2140 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2142 % PixelSetOpacityQuantum() sets the opacity color of the pixel wand.
2144 % The format of the PixelSetOpacityQuantum method is:
2146 % void PixelSetOpacityQuantum(PixelWand *wand,
2147 % const Quantum opacity)
2149 % A description of each parameter follows:
2151 % o wand: the pixel wand.
2153 % o opacity: the opacity color.
2156 WandExport void PixelSetOpacityQuantum(PixelWand *wand,const Quantum opacity)
2158 assert(wand != (const PixelWand *) NULL);
2159 assert(wand->signature == WandSignature);
2160 if (wand->debug != MagickFalse)
2161 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2162 wand->pixel.opacity=(MagickRealType) opacity;
2166 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2170 % P i x e l S e t Q u a n t u m C o l o r %
2174 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2176 % PixelSetQuantumColor() sets the color of the pixel wand.
2178 % The format of the PixelSetQuantumColor method is:
2180 % PixelSetQuantumColor(PixelWand *wand,const PixelPacket *color)
2182 % A description of each parameter follows:
2184 % o wand: the pixel wand.
2186 % o color: the pixel wand color.
2189 WandExport void PixelSetQuantumColor(PixelWand *wand,const PixelPacket *color)
2191 assert(wand != (const PixelWand *) NULL);
2192 assert(wand->signature == WandSignature);
2193 if (wand->debug != MagickFalse)
2194 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2195 assert(color != (PixelPacket *) NULL);
2196 wand->pixel.red=(MagickRealType) color->red;
2197 wand->pixel.green=(MagickRealType) color->green;
2198 wand->pixel.blue=(MagickRealType) color->blue;
2199 wand->pixel.opacity=(MagickRealType) color->opacity;
2200 wand->pixel.matte=color->opacity != OpaqueOpacity ? MagickTrue : MagickFalse;
2204 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2208 % P i x e l S e t R e d %
2212 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2214 % PixelSetRed() sets the normalized red color of the pixel wand.
2216 % The format of the PixelSetRed method is:
2218 % void PixelSetRed(PixelWand *wand,const double red)
2220 % A description of each parameter follows:
2222 % o wand: the pixel wand.
2224 % o red: the red color.
2227 WandExport void PixelSetRed(PixelWand *wand,const double red)
2229 assert(wand != (const PixelWand *) NULL);
2230 assert(wand->signature == WandSignature);
2231 if (wand->debug != MagickFalse)
2232 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2233 wand->pixel.red=(MagickRealType) ClampToQuantum((MagickRealType)
2238 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2242 % P i x e l S e t R e d Q u a n t u m %
2246 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2248 % PixelSetRedQuantum() sets the red color of the pixel wand.
2250 % The format of the PixelSetRedQuantum method is:
2252 % void PixelSetRedQuantum(PixelWand *wand,const Quantum red)
2254 % A description of each parameter follows:
2256 % o wand: the pixel wand.
2258 % o red: the red color.
2261 WandExport void PixelSetRedQuantum(PixelWand *wand,const Quantum red)
2263 assert(wand != (const PixelWand *) NULL);
2264 assert(wand->signature == WandSignature);
2265 if (wand->debug != MagickFalse)
2266 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2267 wand->pixel.red=(MagickRealType) red;
2271 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2275 % P i x e l S e t Y e l l o w %
2279 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2281 % PixelSetYellow() sets the normalized yellow color of the pixel wand.
2283 % The format of the PixelSetYellow method is:
2285 % void PixelSetYellow(PixelWand *wand,const double yellow)
2287 % A description of each parameter follows:
2289 % o wand: the pixel wand.
2291 % o yellow: the yellow color.
2294 WandExport void PixelSetYellow(PixelWand *wand,const double yellow)
2296 assert(wand != (const PixelWand *) NULL);
2297 assert(wand->signature == WandSignature);
2298 if (wand->debug != MagickFalse)
2299 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2300 wand->pixel.blue=(MagickRealType) ClampToQuantum((MagickRealType)
2301 QuantumRange*yellow);
2305 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2309 % P i x e l S e t Y e l l o w Q u a n t u m %
2313 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2315 % PixelSetYellowQuantum() sets the yellow color of the pixel wand.
2317 % The format of the PixelSetYellowQuantum method is:
2319 % void PixelSetYellowQuantum(PixelWand *wand,const Quantum yellow)
2321 % A description of each parameter follows:
2323 % o wand: the pixel wand.
2325 % o yellow: the yellow color.
2328 WandExport void PixelSetYellowQuantum(PixelWand *wand,const Quantum yellow)
2330 assert(wand != (const PixelWand *) NULL);
2331 assert(wand->signature == WandSignature);
2332 if (wand->debug != MagickFalse)
2333 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
2334 wand->pixel.blue=(MagickRealType) yellow;