azawawi / raku-magickwand

ImageMagick's MagickWand API Bindings for Raku

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MagickWand

Actions Status

This provides a Raku object-oriented NativeCall-based API for ImageMagick's MagickWand C API.

Example

use v6;
use MagickWand;

# A new magic wand
my $wand = MagickWand.new;

# Read an image
$wand.read("examples/images/aero1.jpg");

# Lighten dark areas
$wand.auto-gamma;

# And then write a new image
$wand.write("output.png");

# And cleanup on exit
LEAVE {
  $wand.cleanup if $wand.defined;
}

For more examples, please see the examples folder. For examples of available image effects, please click here.

Prerequisites

Please follow the instructions below based on your platform:

Linux (Debian)

  • To install ImageMagick libraries, please run:
$ sudo apt install libmagickwand-dev

MacOSX (Darwin)

  • To install ImageMagick libraries via Homebrew, please run:
$ brew update
$ brew install imagemagick
  • To install ImageMagick libraries via MacPorts, please run:
$ sudo port install ImageMagick

Windows

For Windows, most people will want the standard 64-bit DLL installer. If you need 32-bit or other special options, select the appropriate alternate installer.

Also please remember to enable "Add to PATH" option.

Installation

  • Install this module using zef:
$ zef install MagickWand

Handling PDF files

To process PDF files, please remember to install Ghostscript from here.

Testing

  • To run tests:
$ prove --ext .rakutest -ve "raku -I."
  • To run all tests including author tests (Please make sure Test::Meta is installed):
$ zef install Test::META
$ TEST_AUTHOR=1 prove --ext .rakutest -ve "raku -I."

Author

Ahmad M. Zawawi, azawawi on #raku, https://github.com/azawawi/

License

MIT License

About

ImageMagick's MagickWand API Bindings for Raku

License:MIT License


Languages

Language:Raku 100.0%