| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % PPPP IIIII X X EEEEE L % |
| % P P I X X E L % |
| % PPPP I X EEE L % |
| % P I X X E L % |
| % P IIIII X X EEEEE LLLLL % |
| % % |
| % W W AAA N N DDDD % |
| % W W A A NN N D D % |
| % W W W AAAAA N N N D D % |
| % WW WW A A N NN D D % |
| % W W A A N N DDDD % |
| % % |
| % % |
| % MagickWand Image Pixel Wand Methods % |
| % % |
| % Software Design % |
| % Cristy % |
| % March 2003 % |
| % % |
| % % |
| % Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization % |
| % dedicated to making software imaging solutions freely available. % |
| % % |
| % You may not use this file except in compliance with the License. You may % |
| % obtain a copy of the License at % |
| % % |
| % http://www.imagemagick.org/script/license.php % |
| % % |
| % Unless required by applicable law or agreed to in writing, software % |
| % distributed under the License is distributed on an "AS IS" BASIS, % |
| % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. % |
| % See the License for the specific language governing permissions and % |
| % limitations under the License. % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % |
| % |
| */ |
| |
| /* |
| Include declarations. |
| */ |
| #include "MagickWand/studio.h" |
| #include "MagickWand/MagickWand.h" |
| #include "MagickWand/magick-wand-private.h" |
| #include "MagickWand/pixel-wand-private.h" |
| #include "MagickWand/wand.h" |
| |
| /* |
| Define declarations. |
| */ |
| #define PixelWandId "PixelWand" |
| |
| /* |
| Typedef declarations. |
| */ |
| struct _PixelWand |
| { |
| size_t |
| id; |
| |
| char |
| name[MagickPathExtent]; |
| |
| ExceptionInfo |
| *exception; |
| |
| PixelInfo |
| pixel; |
| |
| size_t |
| count; |
| |
| MagickBooleanType |
| debug; |
| |
| size_t |
| signature; |
| }; |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % C l e a r P i x e l W a n d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % ClearPixelWand() clears resources associated with the wand. |
| % |
| % The format of the ClearPixelWand method is: |
| % |
| % void ClearPixelWand(PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport void ClearPixelWand(PixelWand *wand) |
| { |
| assert(wand != (PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| ClearMagickException(wand->exception); |
| wand->pixel.colorspace=sRGBColorspace; |
| wand->debug=IsEventLogging(); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % C l o n e P i x e l W a n d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % ClonePixelWand() makes an exact copy of the specified wand. |
| % |
| % The format of the ClonePixelWand method is: |
| % |
| % PixelWand *ClonePixelWand(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the magick wand. |
| % |
| */ |
| WandExport PixelWand *ClonePixelWand(const PixelWand *wand) |
| { |
| PixelWand |
| *clone_wand; |
| |
| assert(wand != (PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| clone_wand=(PixelWand *) AcquireMagickMemory(sizeof(*clone_wand)); |
| if (clone_wand == (PixelWand *) NULL) |
| ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed", |
| wand->name); |
| (void) ResetMagickMemory(clone_wand,0,sizeof(*clone_wand)); |
| clone_wand->id=AcquireWandId(); |
| (void) FormatLocaleString(clone_wand->name,MagickPathExtent,"%s-%.20g", |
| PixelWandId,(double) clone_wand->id); |
| clone_wand->exception=AcquireExceptionInfo(); |
| InheritException(clone_wand->exception,wand->exception); |
| clone_wand->pixel=wand->pixel; |
| clone_wand->count=wand->count; |
| clone_wand->debug=IsEventLogging(); |
| if (clone_wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",clone_wand->name); |
| clone_wand->signature=MagickWandSignature; |
| return(clone_wand); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % C l o n e P i x e l W a n d s % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % ClonePixelWands() makes an exact copy of the specified wands. |
| % |
| % The format of the ClonePixelWands method is: |
| % |
| % PixelWand **ClonePixelWands(const PixelWand **wands, |
| % const size_t number_wands) |
| % |
| % A description of each parameter follows: |
| % |
| % o wands: the magick wands. |
| % |
| % o number_wands: the number of wands. |
| % |
| */ |
| WandExport PixelWand **ClonePixelWands(const PixelWand **wands, |
| const size_t number_wands) |
| { |
| register ssize_t |
| i; |
| |
| PixelWand |
| **clone_wands; |
| |
| clone_wands=(PixelWand **) AcquireQuantumMemory((size_t) number_wands, |
| sizeof(*clone_wands)); |
| if (clone_wands == (PixelWand **) NULL) |
| ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed", |
| GetExceptionMessage(errno)); |
| for (i=0; i < (ssize_t) number_wands; i++) |
| clone_wands[i]=ClonePixelWand(wands[i]); |
| return(clone_wands); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % D e s t r o y P i x e l W a n d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % DestroyPixelWand() deallocates resources associated with a PixelWand. |
| % |
| % The format of the DestroyPixelWand method is: |
| % |
| % PixelWand *DestroyPixelWand(PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport PixelWand *DestroyPixelWand(PixelWand *wand) |
| { |
| assert(wand != (PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->exception=DestroyExceptionInfo(wand->exception); |
| wand->signature=(~MagickWandSignature); |
| RelinquishWandId(wand->id); |
| wand=(PixelWand *) RelinquishMagickMemory(wand); |
| return(wand); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % D e s t r o y P i x e l W a n d s % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % DestroyPixelWands() deallocates resources associated with an array of |
| % pixel wands. |
| % |
| % The format of the DestroyPixelWands method is: |
| % |
| % PixelWand **DestroyPixelWands(PixelWand **wand, |
| % const size_t number_wands) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o number_wands: the number of wands. |
| % |
| */ |
| WandExport PixelWand **DestroyPixelWands(PixelWand **wand, |
| const size_t number_wands) |
| { |
| register ssize_t |
| i; |
| |
| assert(wand != (PixelWand **) NULL); |
| assert(*wand != (PixelWand *) NULL); |
| assert((*wand)->signature == MagickWandSignature); |
| if ((*wand)->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",(*wand)->name); |
| for (i=(ssize_t) number_wands-1; i >= 0; i--) |
| wand[i]=DestroyPixelWand(wand[i]); |
| wand=(PixelWand **) RelinquishMagickMemory(wand); |
| return(wand); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % I s P i x e l W a n d S i m i l a r % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % IsPixelWandSimilar() returns MagickTrue if the distance between two |
| % colors is less than the specified distance. |
| % |
| % The format of the IsPixelWandSimilar method is: |
| % |
| % MagickBooleanType IsPixelWandSimilar(PixelWand *p,PixelWand *q, |
| % const double fuzz) |
| % |
| % A description of each parameter follows: |
| % |
| % o p: the pixel wand. |
| % |
| % o q: the pixel wand. |
| % |
| % o fuzz: any two colors that are less than or equal to this distance |
| % squared are consider similar. |
| % |
| */ |
| WandExport MagickBooleanType IsPixelWandSimilar(PixelWand *p,PixelWand *q, |
| const double fuzz) |
| { |
| assert(p != (PixelWand *) NULL); |
| assert(p->signature == MagickWandSignature); |
| if (p->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",p->name); |
| assert(q != (PixelWand *) NULL); |
| assert(q->signature == MagickWandSignature); |
| if (q->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",q->name); |
| p->pixel.fuzz=fuzz; |
| q->pixel.fuzz=fuzz; |
| return(IsFuzzyEquivalencePixelInfo(&p->pixel,&q->pixel)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % I s P i x e l W a n d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % IsPixelWand() returns MagickTrue if the wand is verified as a pixel wand. |
| % |
| % The format of the IsPixelWand method is: |
| % |
| % MagickBooleanType IsPixelWand(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the magick wand. |
| % |
| */ |
| WandExport MagickBooleanType IsPixelWand(const PixelWand *wand) |
| { |
| if (wand == (const PixelWand *) NULL) |
| return(MagickFalse); |
| if (wand->signature != MagickWandSignature) |
| return(MagickFalse); |
| if (LocaleNCompare(wand->name,PixelWandId,strlen(PixelWandId)) != 0) |
| return(MagickFalse); |
| return(MagickTrue); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % N e w P i x e l W a n d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % NewPixelWand() returns a new pixel wand. |
| % |
| % The format of the NewPixelWand method is: |
| % |
| % PixelWand *NewPixelWand(void) |
| % |
| */ |
| WandExport PixelWand *NewPixelWand(void) |
| { |
| const char |
| *quantum; |
| |
| PixelWand |
| *wand; |
| |
| size_t |
| depth; |
| |
| depth=MAGICKCORE_QUANTUM_DEPTH; |
| quantum=GetMagickQuantumDepth(&depth); |
| if (depth != MAGICKCORE_QUANTUM_DEPTH) |
| ThrowWandFatalException(WandError,"QuantumDepthMismatch",quantum); |
| wand=(PixelWand *) AcquireMagickMemory(sizeof(*wand)); |
| if (wand == (PixelWand *) NULL) |
| ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed", |
| GetExceptionMessage(errno)); |
| (void) ResetMagickMemory(wand,0,sizeof(*wand)); |
| wand->id=AcquireWandId(); |
| (void) FormatLocaleString(wand->name,MagickPathExtent,"%s-%.20g",PixelWandId, |
| (double) wand->id); |
| wand->exception=AcquireExceptionInfo(); |
| GetPixelInfo((Image *) NULL,&wand->pixel); |
| wand->debug=IsEventLogging(); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->signature=MagickWandSignature; |
| return(wand); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % N e w P i x e l W a n d s % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % NewPixelWands() returns an array of pixel wands. |
| % |
| % The format of the NewPixelWands method is: |
| % |
| % PixelWand **NewPixelWands(const size_t number_wands) |
| % |
| % A description of each parameter follows: |
| % |
| % o number_wands: the number of wands. |
| % |
| */ |
| WandExport PixelWand **NewPixelWands(const size_t number_wands) |
| { |
| register ssize_t |
| i; |
| |
| PixelWand |
| **wands; |
| |
| wands=(PixelWand **) AcquireQuantumMemory((size_t) number_wands, |
| sizeof(*wands)); |
| if (wands == (PixelWand **) NULL) |
| ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed", |
| GetExceptionMessage(errno)); |
| for (i=0; i < (ssize_t) number_wands; i++) |
| wands[i]=NewPixelWand(); |
| return(wands); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l C l e a r E x c e p t i o n % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelClearException() clear any exceptions associated with the iterator. |
| % |
| % The format of the PixelClearException method is: |
| % |
| % MagickBooleanType PixelClearException(PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport MagickBooleanType PixelClearException(PixelWand *wand) |
| { |
| assert(wand != (PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| ClearMagickException(wand->exception); |
| return(MagickTrue); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t A l p h a % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetAlpha() returns the normalized alpha value of the pixel wand. |
| % |
| % The format of the PixelGetAlpha method is: |
| % |
| % double PixelGetAlpha(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetAlpha(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.alpha); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t A l p h a Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetAlphaQuantum() returns the alpha value of the pixel wand. |
| % |
| % The format of the PixelGetAlphaQuantum method is: |
| % |
| % Quantum PixelGetAlphaQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetAlphaQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.alpha)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t B l a c k % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetBlack() returns the normalized black color of the pixel wand. |
| % |
| % The format of the PixelGetBlack method is: |
| % |
| % double PixelGetBlack(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetBlack(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.black); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t B l a c k Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetBlackQuantum() returns the black color of the pixel wand. |
| % |
| % The format of the PixelGetBlackQuantum method is: |
| % |
| % Quantum PixelGetBlackQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetBlackQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.black)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t B l u e % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetBlue() returns the normalized blue color of the pixel wand. |
| % |
| % The format of the PixelGetBlue method is: |
| % |
| % double PixelGetBlue(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetBlue(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.blue); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t B l u e Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetBlueQuantum() returns the blue color of the pixel wand. |
| % |
| % The format of the PixelGetBlueQuantum method is: |
| % |
| % Quantum PixelGetBlueQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetBlueQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.blue)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t C o l o r A s S t r i n g % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetColorAsString() returnsd the color of the pixel wand as a string. |
| % |
| % The format of the PixelGetColorAsString method is: |
| % |
| % char *PixelGetColorAsString(PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport char *PixelGetColorAsString(const PixelWand *wand) |
| { |
| char |
| *color; |
| |
| PixelInfo |
| pixel; |
| |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| pixel=wand->pixel; |
| color=AcquireString((const char *) NULL); |
| GetColorTuple(&pixel,MagickFalse,color); |
| return(color); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % 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 % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetColorAsNormalizedString() returns the normalized color of the pixel |
| % wand as a string. |
| % |
| % The format of the PixelGetColorAsNormalizedString method is: |
| % |
| % char *PixelGetColorAsNormalizedString(PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport char *PixelGetColorAsNormalizedString(const PixelWand *wand) |
| { |
| char |
| color[2*MagickPathExtent]; |
| |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| (void) FormatLocaleString(color,MagickPathExtent,"%g,%g,%g",(double) |
| (QuantumScale*wand->pixel.red),(double) (QuantumScale*wand->pixel.green), |
| (double) (QuantumScale*wand->pixel.blue)); |
| if (wand->pixel.colorspace == CMYKColorspace) |
| (void) FormatLocaleString(color+strlen(color),MagickPathExtent,",%g", |
| (double) (QuantumScale*wand->pixel.black)); |
| if (wand->pixel.alpha_trait != UndefinedPixelTrait) |
| (void) FormatLocaleString(color+strlen(color),MagickPathExtent,",%g", |
| (double) (QuantumScale*wand->pixel.alpha)); |
| return(ConstantString(color)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t C o l o r C o u n t % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetColorCount() returns the color count associated with this color. |
| % |
| % The format of the PixelGetColorCount method is: |
| % |
| % size_t PixelGetColorCount(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport size_t PixelGetColorCount(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(wand->count); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t C y a n % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetCyan() returns the normalized cyan color of the pixel wand. |
| % |
| % The format of the PixelGetCyan method is: |
| % |
| % double PixelGetCyan(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetCyan(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.red); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t C y a n Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetCyanQuantum() returns the cyan color of the pixel wand. |
| % |
| % The format of the PixelGetCyanQuantum method is: |
| % |
| % Quantum PixelGetCyanQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetCyanQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.red)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t E x c e p t i o n % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetException() returns the severity, reason, and description of any |
| % error that occurs when using other methods in this API. |
| % |
| % The format of the PixelGetException method is: |
| % |
| % char *PixelGetException(const PixelWand *wand,ExceptionType *severity) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o severity: the severity of the error is returned here. |
| % |
| */ |
| WandExport char *PixelGetException(const PixelWand *wand, |
| ExceptionType *severity) |
| { |
| char |
| *description; |
| |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| assert(severity != (ExceptionType *) NULL); |
| *severity=wand->exception->severity; |
| description=(char *) AcquireQuantumMemory(2UL*MagickPathExtent, |
| sizeof(*description)); |
| if (description == (char *) NULL) |
| ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed", |
| wand->name); |
| *description='\0'; |
| if (wand->exception->reason != (char *) NULL) |
| (void) CopyMagickString(description,GetLocaleExceptionMessage( |
| wand->exception->severity,wand->exception->reason),MagickPathExtent); |
| if (wand->exception->description != (char *) NULL) |
| { |
| (void) ConcatenateMagickString(description," (",MagickPathExtent); |
| (void) ConcatenateMagickString(description,GetLocaleExceptionMessage( |
| wand->exception->severity,wand->exception->description), |
| MagickPathExtent); |
| (void) ConcatenateMagickString(description,")",MagickPathExtent); |
| } |
| return(description); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t E x c e p t i o n T y p e % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetExceptionType() the exception type associated with the wand. If |
| % no exception has occurred, UndefinedExceptionType is returned. |
| % |
| % The format of the PixelGetExceptionType method is: |
| % |
| % ExceptionType PixelGetExceptionType(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the magick wand. |
| % |
| */ |
| WandExport ExceptionType PixelGetExceptionType(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(wand->exception->severity); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t F u z z % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetFuzz() returns the normalized fuzz value of the pixel wand. |
| % |
| % The format of the PixelGetFuzz method is: |
| % |
| % double PixelGetFuzz(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetFuzz(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) wand->pixel.fuzz); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t G r e e n % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetGreen() returns the normalized green color of the pixel wand. |
| % |
| % The format of the PixelGetGreen method is: |
| % |
| % double PixelGetGreen(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetGreen(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.green); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t G r e e n Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetGreenQuantum() returns the green color of the pixel wand. |
| % |
| % The format of the PixelGetGreenQuantum method is: |
| % |
| % Quantum PixelGetGreenQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetGreenQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.green)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t H S L % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetHSL() returns the normalized HSL color of the pixel wand. |
| % |
| % The format of the PixelGetHSL method is: |
| % |
| % void PixelGetHSL(const PixelWand *wand,double *hue,double *saturation, |
| % double *lightness) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o hue,saturation,lightness: Return the pixel hue, saturation, and |
| % brightness. |
| % |
| */ |
| WandExport void PixelGetHSL(const PixelWand *wand,double *hue, |
| double *saturation,double *lightness) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| ConvertRGBToHSL((double) ClampToQuantum(wand->pixel.red),(double) |
| ClampToQuantum(wand->pixel.green),(double) ClampToQuantum(wand->pixel.blue), |
| hue,saturation,lightness); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t I n d e x % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetIndex() returns the colormap index from the pixel wand. |
| % |
| % The format of the PixelGetIndex method is: |
| % |
| % Quantum PixelGetIndex(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetIndex(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((Quantum) wand->pixel.index); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t M a g e n t a % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetMagenta() returns the normalized magenta color of the pixel wand. |
| % |
| % The format of the PixelGetMagenta method is: |
| % |
| % double PixelGetMagenta(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetMagenta(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.green); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t M a g e n t a Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetMagentaQuantum() returns the magenta color of the pixel wand. |
| % |
| % The format of the PixelGetMagentaQuantum method is: |
| % |
| % Quantum PixelGetMagentaQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetMagentaQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.green)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t M a g i c k C o l o r % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetMagickColor() gets the magick color of the pixel wand. |
| % |
| % The format of the PixelGetMagickColor method is: |
| % |
| % void PixelGetMagickColor(PixelWand *wand,PixelInfo *color) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o color: The pixel wand color is returned here. |
| % |
| */ |
| WandExport void PixelGetMagickColor(const PixelWand *wand, |
| PixelInfo *color) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| assert(color != (PixelInfo *) NULL); |
| *color=wand->pixel; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t P i x e l % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetPixel() returns the pixel wand pixel. |
| % |
| % The format of the PixelGetPixel method is: |
| % |
| % PixelInfo PixelGetPixel(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport PixelInfo PixelGetPixel(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(wand->pixel); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t Q u a n t u m P a c k e t % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetQuantumPacket() gets the packet of the pixel wand as a PixelInfo. |
| % |
| % The format of the PixelGetQuantumPacket method is: |
| % |
| % void PixelGetQuantumPacket(PixelWand *wand,PixelInfo *packet) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o packet: The pixel wand packet is returned here. |
| % |
| */ |
| WandExport void PixelGetQuantumPacket(const PixelWand *wand,PixelInfo *packet) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| assert(packet != (PixelInfo *) NULL); |
| packet->storage_class=wand->pixel.storage_class; |
| packet->colorspace=wand->pixel.colorspace; |
| packet->depth=wand->pixel.depth; |
| packet->fuzz=wand->pixel.fuzz; |
| packet->count=wand->pixel.count; |
| packet->index=wand->pixel.index; |
| packet->alpha=(double) ClampToQuantum(wand->pixel.alpha); |
| packet->alpha_trait=wand->pixel.alpha_trait; |
| if (wand->pixel.colorspace == CMYKColorspace) |
| { |
| packet->red=(double) ClampToQuantum(QuantumRange-(wand->pixel.red* |
| (QuantumRange-wand->pixel.black)+wand->pixel.black)); |
| packet->green=(double) ClampToQuantum(QuantumRange-(wand->pixel.green* |
| (QuantumRange-wand->pixel.black)+wand->pixel.black)); |
| packet->blue=(double) ClampToQuantum(QuantumRange-(wand->pixel.blue* |
| (QuantumRange-wand->pixel.black)+wand->pixel.black)); |
| packet->black=(double) ClampToQuantum(wand->pixel.black); |
| return; |
| } |
| packet->red=(double) ClampToQuantum(wand->pixel.red); |
| packet->green=(double) ClampToQuantum(wand->pixel.green); |
| packet->blue=(double) ClampToQuantum(wand->pixel.blue); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t Q u a n t u m P i x e l % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetQuantumPixel() gets the pixel of the pixel wand as a PixelInfo. |
| % |
| % The format of the PixelGetQuantumPixel method is: |
| % |
| % void PixelGetQuantumPixel(const Image *image,const PixelWand *wand, |
| % Quantum *pixel) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o pixel: The pixel wand pixel is returned here. |
| % |
| */ |
| WandExport void PixelGetQuantumPixel(const Image *image,const PixelWand *wand, |
| Quantum *pixel) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| assert(pixel != (Quantum *) NULL); |
| SetPixelAlpha(image,ClampToQuantum(wand->pixel.alpha),pixel); |
| if (wand->pixel.colorspace == CMYKColorspace) |
| { |
| SetPixelRed(image,ClampToQuantum(QuantumRange- |
| (wand->pixel.red*(QuantumRange-wand->pixel.black)+wand->pixel.black)), |
| pixel); |
| SetPixelGreen(image,ClampToQuantum(QuantumRange- |
| (wand->pixel.green*(QuantumRange-wand->pixel.black)+wand->pixel.black)), |
| pixel); |
| SetPixelBlue(image,ClampToQuantum(QuantumRange- |
| (wand->pixel.blue*(QuantumRange-wand->pixel.black)+wand->pixel.black)), |
| pixel); |
| SetPixelBlack(image,ClampToQuantum(wand->pixel.black),pixel); |
| return; |
| } |
| SetPixelRed(image,ClampToQuantum(wand->pixel.red),pixel); |
| SetPixelGreen(image,ClampToQuantum(wand->pixel.green),pixel); |
| SetPixelBlue(image,ClampToQuantum(wand->pixel.blue),pixel); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t R e d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetRed() returns the normalized red color of the pixel wand. |
| % |
| % The format of the PixelGetRed method is: |
| % |
| % double PixelGetRed(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetRed(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.red); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t R e d Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetRedQuantum() returns the red color of the pixel wand. |
| % |
| % The format of the PixelGetRedQuantum method is: |
| % |
| % Quantum PixelGetRedQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetRedQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.red)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t Y e l l o w % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetYellow() returns the normalized yellow color of the pixel wand. |
| % |
| % The format of the PixelGetYellow method is: |
| % |
| % double PixelGetYellow(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport double PixelGetYellow(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return((double) QuantumScale*wand->pixel.blue); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l G e t Y e l l o w Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelGetYellowQuantum() returns the yellow color of the pixel wand. |
| % |
| % The format of the PixelGetYellowQuantum method is: |
| % |
| % Quantum PixelGetYellowQuantum(const PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| */ |
| WandExport Quantum PixelGetYellowQuantum(const PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| return(ClampToQuantum(wand->pixel.blue)); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t A l p h a % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetAlpha() sets the normalized alpha value of the pixel wand. |
| % |
| % The format of the PixelSetAlpha method is: |
| % |
| % void PixelSetAlpha(PixelWand *wand,const double alpha) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o alpha: the level of transparency: 1.0 is fully opaque and 0.0 is fully |
| % transparent. |
| % |
| */ |
| WandExport void PixelSetAlpha(PixelWand *wand,const double alpha) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.alpha=(double) ClampToQuantum(QuantumRange*alpha); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t A l p h a Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetAlphaQuantum() sets the alpha value of the pixel wand. |
| % |
| % The format of the PixelSetAlphaQuantum method is: |
| % |
| % void PixelSetAlphaQuantum(PixelWand *wand,const Quantum alpha) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o alpha: the alpha value. |
| % |
| */ |
| WandExport void PixelSetAlphaQuantum(PixelWand *wand,const Quantum alpha) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.alpha=(double) alpha; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t B l a c k % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetBlack() sets the normalized black color of the pixel wand. |
| % |
| % The format of the PixelSetBlack method is: |
| % |
| % void PixelSetBlack(PixelWand *wand,const double black) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o black: the black color. |
| % |
| */ |
| WandExport void PixelSetBlack(PixelWand *wand,const double black) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.black=(double) ClampToQuantum(QuantumRange*black); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t B l a c k Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetBlackQuantum() sets the black color of the pixel wand. |
| % |
| % The format of the PixelSetBlackQuantum method is: |
| % |
| % void PixelSetBlackQuantum(PixelWand *wand,const Quantum black) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o black: the black color. |
| % |
| */ |
| WandExport void PixelSetBlackQuantum(PixelWand *wand,const Quantum black) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.black=(double) black; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t B l u e % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetBlue() sets the normalized blue color of the pixel wand. |
| % |
| % The format of the PixelSetBlue method is: |
| % |
| % void PixelSetBlue(PixelWand *wand,const double blue) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o blue: the blue color. |
| % |
| */ |
| WandExport void PixelSetBlue(PixelWand *wand,const double blue) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.blue=(double) ClampToQuantum(QuantumRange*blue); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t B l u e Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetBlueQuantum() sets the blue color of the pixel wand. |
| % |
| % The format of the PixelSetBlueQuantum method is: |
| % |
| % void PixelSetBlueQuantum(PixelWand *wand,const Quantum blue) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o blue: the blue color. |
| % |
| */ |
| WandExport void PixelSetBlueQuantum(PixelWand *wand,const Quantum blue) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.blue=(double) blue; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t C o l o r % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetColor() sets the color of the pixel wand with a string (e.g. |
| % "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.). |
| % |
| % The format of the PixelSetColor method is: |
| % |
| % MagickBooleanType PixelSetColor(PixelWand *wand,const char *color) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o color: the pixel wand color. |
| % |
| */ |
| WandExport MagickBooleanType PixelSetColor(PixelWand *wand,const char *color) |
| { |
| MagickBooleanType |
| status; |
| |
| PixelInfo |
| pixel; |
| |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| status=QueryColorCompliance(color,AllCompliance,&pixel,wand->exception); |
| if (status != MagickFalse) |
| wand->pixel=pixel; |
| return(status); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t C o l o r C o u n t % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetColorCount() sets the color count of the pixel wand. |
| % |
| % The format of the PixelSetColorCount method is: |
| % |
| % void PixelSetColorCount(PixelWand *wand,const size_t count) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o count: the number of this particular color. |
| % |
| */ |
| WandExport void PixelSetColorCount(PixelWand *wand,const size_t count) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->count=count; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t C o l o r F r o m W a n d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetColorFromWand() sets the color of the pixel wand. |
| % |
| % The format of the PixelSetColorFromWand method is: |
| % |
| % void PixelSetColorFromWand(PixelWand *wand,const PixelWand *color) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o color: set the pixel wand color here. |
| % |
| */ |
| WandExport void PixelSetColorFromWand(PixelWand *wand,const PixelWand *color) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| assert(color != (const PixelWand *) NULL); |
| wand->pixel=color->pixel; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t C y a n % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetCyan() sets the normalized cyan color of the pixel wand. |
| % |
| % The format of the PixelSetCyan method is: |
| % |
| % void PixelSetCyan(PixelWand *wand,const double cyan) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o cyan: the cyan color. |
| % |
| */ |
| WandExport void PixelSetCyan(PixelWand *wand,const double cyan) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.red=(double) ClampToQuantum(QuantumRange*cyan); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t C y a n Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetCyanQuantum() sets the cyan color of the pixel wand. |
| % |
| % The format of the PixelSetCyanQuantum method is: |
| % |
| % void PixelSetCyanQuantum(PixelWand *wand,const Quantum cyan) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o cyan: the cyan color. |
| % |
| */ |
| WandExport void PixelSetCyanQuantum(PixelWand *wand,const Quantum cyan) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.red=(double) cyan; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t F u z z % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetFuzz() sets the fuzz value of the pixel wand. |
| % |
| % The format of the PixelSetFuzz method is: |
| % |
| % void PixelSetFuzz(PixelWand *wand,const double fuzz) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o fuzz: the fuzz value. |
| % |
| */ |
| WandExport void PixelSetFuzz(PixelWand *wand,const double fuzz) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.fuzz=(double) fuzz; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t G r e e n % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetGreen() sets the normalized green color of the pixel wand. |
| % |
| % The format of the PixelSetGreen method is: |
| % |
| % void PixelSetGreen(PixelWand *wand,const double green) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o green: the green color. |
| % |
| */ |
| WandExport void PixelSetGreen(PixelWand *wand,const double green) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.green=(double) ClampToQuantum(QuantumRange*green); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t G r e e n Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetGreenQuantum() sets the green color of the pixel wand. |
| % |
| % The format of the PixelSetGreenQuantum method is: |
| % |
| % void PixelSetGreenQuantum(PixelWand *wand,const Quantum green) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o green: the green color. |
| % |
| */ |
| WandExport void PixelSetGreenQuantum(PixelWand *wand,const Quantum green) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.green=(double) green; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t H S L % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetHSL() sets the normalized HSL color of the pixel wand. |
| % |
| % The format of the PixelSetHSL method is: |
| % |
| % void PixelSetHSL(PixelWand *wand,const double hue, |
| % const double saturation,const double lightness) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o hue,saturation,lightness: Return the pixel hue, saturation, and |
| % brightness. |
| % |
| */ |
| WandExport void PixelSetHSL(PixelWand *wand,const double hue, |
| const double saturation,const double lightness) |
| { |
| double |
| blue, |
| green, |
| red; |
| |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| ConvertHSLToRGB(hue,saturation,lightness,&red,&green,&blue); |
| wand->pixel.red=(double) red; |
| wand->pixel.green=(double) green; |
| wand->pixel.blue=(double) blue; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t I n d e x % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetIndex() sets the colormap index of the pixel wand. |
| % |
| % The format of the PixelSetIndex method is: |
| % |
| % void PixelSetIndex(PixelWand *wand,const Quantum index) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o index: the colormap index. |
| % |
| */ |
| WandExport void PixelSetIndex(PixelWand *wand,const Quantum index) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.index=(double) index; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t M a g e n t a % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetMagenta() sets the normalized magenta color of the pixel wand. |
| % |
| % The format of the PixelSetMagenta method is: |
| % |
| % void PixelSetMagenta(PixelWand *wand,const double magenta) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o magenta: the magenta color. |
| % |
| */ |
| WandExport void PixelSetMagenta(PixelWand *wand,const double magenta) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.green=(double) ClampToQuantum(QuantumRange*magenta); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t M a g e n t a Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetMagentaQuantum() sets the magenta color of the pixel wand. |
| % |
| % The format of the PixelSetMagentaQuantum method is: |
| % |
| % void PixelSetMagentaQuantum(PixelWand *wand, |
| % const Quantum magenta) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o magenta: the green magenta. |
| % |
| */ |
| WandExport void PixelSetMagentaQuantum(PixelWand *wand,const Quantum magenta) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.green=(double) magenta; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t P i x e l C o l o r % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetPixelColor() sets the color of the pixel wand. |
| % |
| % The format of the PixelSetPixelColor method is: |
| % |
| % void PixelSetPixelColor(PixelWand *wand,const PixelInfo *color) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o color: the pixel wand color. |
| % |
| */ |
| WandExport void PixelSetPixelColor(PixelWand *wand,const PixelInfo *color) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| assert(color != (const PixelInfo *) NULL); |
| wand->pixel=(*color); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t Q u a n t u m P i x e l % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetQuantumPixel() sets the pixel of the pixel wand. |
| % |
| % The format of the PixelSetQuantumPixel method is: |
| % |
| % void PixelSetQuantumPixel(const Image *image,const Quantum *pixel, |
| % PixelWand *wand) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o pixel: the pixel wand pixel. |
| % |
| */ |
| WandExport void PixelSetQuantumPixel(const Image *image,const Quantum *pixel, |
| PixelWand *wand) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| assert(pixel != (Quantum *) NULL); |
| wand->pixel.red=(double) GetPixelRed(image,pixel); |
| wand->pixel.green=(double) GetPixelGreen(image,pixel); |
| wand->pixel.blue=(double) GetPixelBlue(image,pixel); |
| wand->pixel.black=(double) GetPixelBlack(image,pixel); |
| wand->pixel.alpha=(double) GetPixelAlpha(image,pixel); |
| wand->pixel.alpha_trait=GetPixelAlpha(image,pixel) != OpaqueAlpha ? |
| BlendPixelTrait : UndefinedPixelTrait; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t R e d % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetRed() sets the normalized red color of the pixel wand. |
| % |
| % The format of the PixelSetRed method is: |
| % |
| % void PixelSetRed(PixelWand *wand,const double red) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o red: the red color. |
| % |
| */ |
| WandExport void PixelSetRed(PixelWand *wand,const double red) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.red=(double) ClampToQuantum(QuantumRange*red); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t R e d Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetRedQuantum() sets the red color of the pixel wand. |
| % |
| % The format of the PixelSetRedQuantum method is: |
| % |
| % void PixelSetRedQuantum(PixelWand *wand,const Quantum red) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o red: the red color. |
| % |
| */ |
| WandExport void PixelSetRedQuantum(PixelWand *wand,const Quantum red) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.red=(double) red; |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t Y e l l o w % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetYellow() sets the normalized yellow color of the pixel wand. |
| % |
| % The format of the PixelSetYellow method is: |
| % |
| % void PixelSetYellow(PixelWand *wand,const double yellow) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o yellow: the yellow color. |
| % |
| */ |
| WandExport void PixelSetYellow(PixelWand *wand,const double yellow) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.blue=(double) ClampToQuantum(QuantumRange*yellow); |
| } |
| |
| /* |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % % |
| % % |
| % % |
| % P i x e l S e t Y e l l o w Q u a n t u m % |
| % % |
| % % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % PixelSetYellowQuantum() sets the yellow color of the pixel wand. |
| % |
| % The format of the PixelSetYellowQuantum method is: |
| % |
| % void PixelSetYellowQuantum(PixelWand *wand,const Quantum yellow) |
| % |
| % A description of each parameter follows: |
| % |
| % o wand: the pixel wand. |
| % |
| % o yellow: the yellow color. |
| % |
| */ |
| WandExport void PixelSetYellowQuantum(PixelWand *wand,const Quantum yellow) |
| { |
| assert(wand != (const PixelWand *) NULL); |
| assert(wand->signature == MagickWandSignature); |
| if (wand->debug != MagickFalse) |
| (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name); |
| wand->pixel.blue=(double) yellow; |
| } |