magickwand-crystal
Version, currently 0.3.07 versions
github.com/blocknotes/magickwand-crystal
Crystal C bindings for MagickWand library
68 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
magickwand-crystal:
github: blocknotes/magickwand-crystal
version: ~> 0.3.0Then run:
shards installshard.yml
- Crystal
0.31.0- License
- MIT
- Authors
- Mattia Roccoberton <mat@blocknot.es>, Gunter Solf <gunter.solf@gmail.com>
Dependencies
This version declares no dependencies.
README
# MagickWand for Crystal [](https://travis-ci.org/blocknotes/magickwand-crystal)
Crystal C bindings for MagickWand library, an interface to use the ImageMagick image processing libraries - see [www.imagemagick.org](https://www.imagemagick.org/script/magick-wand.php)
**NOTE**: Base on _ImageMagick-7.0.8-66_. MagickWand is a quite large library, if you find something missing [contact me](http://www.blocknot.es/me)
## Requirements
- *libMagickWand* must be installed
- *pkg-config* must be available
## Installation
- Add this to your application's `shard.yml`:
```yaml
dependencies:
magickwand-crystal:
github: blocknotes/magickwand-crystal
```
## Usage
Get image info:
```ruby
require "magickwand-crystal"
LibMagick.magickWandGenesis # lib init
wand = LibMagick.newMagickWand # lib init
if LibMagick.magickReadImage( wand, "test.png" )
puts LibMagick.magickGetImageWidth wand
puts LibMagick.magickGetImageHeight wand
end
LibMagick.destroyMagickWand wand # lib deinit
LibMagick.magickWandTerminus # lib deinit
```
Scale image and save in Jpeg format:
```ruby
require "magickwand-crystal"
# ... lib init ...
LibMagick.magickReadImage wand, "test.png"
LibMagick.magickScaleImage wand, 320, 240
LibMagick.magickWriteImage wand, "test2.jpg"
# ... lib deinit ...
```
Convert to grayscale:
```ruby
require "magickwand-crystal"
# ... lib init ...
LibMagick.magickReadImage wand, "test.jpg"
LibMagick.magickTransformImageColorspace wand, LibMagick::ColorspaceType::GRAYColorspace
LibMagick.magickWriteImage wand, "grayscale.jpg"
# ... lib deinit ...
```
## More examples
See [examples](https://github.com/blocknotes/magickwand-crystal/tree/master/examples) folder. There is also an example to generate an image on the fly with Kemal.
## Documentation
The functions mapped have the same names of the MagickWand C library but with the first letter in lowercase.
Example: `MagickWandGenesis` => `LibMagick.magickWandGenesis`
- [MagickWand C Documentation](https://www.imagemagick.org/api/MagickWand/index.html)
- [MagickWand Examples in C](http://members.shaw.ca/el.supremo/MagickWand/)
## Notes
Branches with different ImageMagick version:
- **im_6.9.7-3**
- **im_7.0.4-1**
The Crystal Magic Wand ! :)
Sounds funny but I hope you find it a useful piece of software.
## Contributors
- [Mattia Roccoberton](http://blocknot.es) - creator, maintainer, Crystal fan :)
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.3.0- Tagged
- Oct 8, 2019
- Commit
419024b550d1- Crystal
0.31.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/blocknotes/magickwand-crystal
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 7