### ----------------------------------------------------
### -- MagickWand
### -- Licenses: MIT
### -- Authors: Ahmad M. Zawawi
### -- File: lib/MagickWand/NativeCall/Image.rakumod
### ----------------------------------------------------
### -- Chunk 6 of 6
)

MagickUniqueImageColors() discards all but one of any pixel color.- wand: the magick wand. 
=end pod
sub MagickUniqueImageColors(
   Pointer $wand
)
returns uint32 
is native(&library)
is export { * };


=begin pod
=head1 MagickUnsharpMaskImage

    MagickBooleanType MagickUnsharpMaskImage(MagickWand *wand,
      const double radius,const double sigma,const double amount,
      const double threshold)
    MagickBooleanType MagickUnsharpMaskImageChannel(MagickWand *wand,
      const ChannelType channel,const double radius,const double sigma,
      const double amount,const double threshold)

MagickUnsharpMaskImage() sharpens an image.  We convolve the image with a
Gaussian operator of the given radius and standard deviation (sigma). For
reasonable results, radius should be larger than sigma.  Use a radius of 0 and
UnsharpMaskImage() selects a suitable radius for you.

- wand: the magick wand.
- channel: the image channel(s).
- radius: the radius of the Gaussian in pixels not counting the center pixel.
- sigma: the standard deviation of the Gaussian in pixels.
- amount: the percentage of the difference between the original and the blur
  image that is added back into the original.
- threshold: the threshold in pixels needed to apply the diffence amount.

=end pod
sub MagickUnsharpMaskImage(
   Pointer $wand,
   num64 $radius,
   num64 $sigma,
   num64 $amount,
   num64 $threshold
)
returns uint32 
is native(&library)
is export { * };

sub MagickUnsharpMaskImageChannel(
   Pointer $wand,
   uint32 $channel,
   num64 $radius,
   num64 $sigma,
   num64 $amount,
   num64 $threshold
)
returns uint32
is native(&library)
is export { * };


=begin pod
=head1 MagickVignetteImage

    MagickBooleanType MagickVignetteImage(MagickWand *wand,
      const double black_point,const double white_point,const ssize_t x,
      const ssize_t y)

MagickVignetteImage() softens the edges of the image in vignette style.
- wand: the magick wand.
- black_point: the black point.
- white_point: the white point.
- x, y:  Define the x and y ellipse offset.

=end pod
sub MagickVignetteImage(
   Pointer $wand,
   num64 $black_point,
   num64 $white_point,
   uint32 $x,
   uint32 $y
)
returns uint32 
is native(&library)
is export { * };


=begin pod
=head1 MagickWaveImage

    MagickBooleanType MagickWaveImage(MagickWand *wand,const double amplitude,
      const double wave_length)

MagickWaveImage()  creates a "ripple" effect in the image by shifting the pixels
vertically along a sine wave whose amplitude and wavelength is specified by the
given parameters.

- wand: the magick wand.
- amplitude, wave_length:  Define the amplitude and wave length of the sine
  wave.

=end pod
sub MagickWaveImage(
   Pointer $wand,
   num64 $amplitude,
   num64 $wave_length
)
returns uint32 
is native(&library)
is export { * };


=begin pod
=head1 MagickWhiteThresholdImage

    MagickBooleanType MagickWhiteThresholdImage(MagickWand *wand,
      const PixelWand *threshold)

MagickWhiteThresholdImage() is like ThresholdImage() but  force all pixels above the threshold into white while leaving all pixels below the threshold unchanged.- wand: the magick wand. - threshold: the pixel wand. 
=end pod
sub MagickWhiteThresholdImage(
   Pointer $wand,
   Pointer $threshold
)
returns uint32 
is native(&library)
is export { * };


=begin pod
=head1 MagickWriteImage

    MagickBooleanType MagickWriteImage(MagickWand *wand,
      const char *filename)

MagickWriteImage() writes an image to the specified filename.  If the filename parameter is NULL, the image is written to the filename set by MagickReadImage() or MagickSetImageFilename().- wand: the magick wand. - filename: the image filename. 
=end pod
sub MagickWriteImage(
   Pointer $wand,
   Str $filename
)
returns uint32 
is native(&library)
is export { * };


=begin pod
=head1 MagickWriteImages

    MagickBooleanType MagickWriteImages(MagickWand *wand,
      const char *filename,const MagickBooleanType adjoin)

MagickWriteImages() writes an image or image sequence.- wand: the magick wand. - filename: the image filename. - adjoin: join images into a single multi-image file. 
=end pod
sub MagickWriteImages(
   Pointer $wand,
   Str $filename,
   uint32 $adjoin
)
returns uint32 
is native(&library)
is export { * };


