Commit graph

79 commits

Author SHA1 Message Date
Sindre Johansen f397e65634 Add crop_image to MagickWand 2018-02-14 12:44:00 +01:00
little-bobby-tables f2b153c987 add color-related getters and mutations 2018-01-03 17:04:45 +07:00
Nathan Fiedler 06f1a4352a Merge branch 'magick-7' 2017-08-26 13:14:51 -07:00
little-bobby-tables f6c55ba836 add get_image_page to MagickWand
get_image_page (MagickGetImagePage) is especially useful
for determining the overall dimensions of a GIF, which may have
frames with different widths and heights. In such cases,
get_image_width and get_image_height report the dimensions of
the last frame only.
2017-08-23 19:37:38 +07:00
Nathan Fiedler 2d63b00b1f Fix typo in doc comment 2017-08-19 17:45:06 -07:00
little-bobby-tables 7abde0e7c6 resolve initial compilation issues 2017-08-19 16:35:58 +07:00
gentoo90 c50b3e27de Add compare_images method 2017-05-16 16:43:08 +03:00
Nathan Fiedler e7054d3e35 Use the rust-bindgen crate properly
Using the changes from @gadomski along with some additional work, to get the
generated bindings working again. Works on macOS and FreeBSD 11. A couple of
hacks are needed for FreeBSD, but nothing too serious.

Changed to use the libc prefix, and changed to use the generated enums.

Fixes #22, #15, and #14

cargo test passes
2017-04-08 16:03:58 -07:00
Nathan Fiedler eec7998d25 Use new rust-bindgen crate for faster builds
Rather than cloning the bindgen repository and building from source, use
the packaged crate. The result is the rebuilds are much, much faster.
Also, had to make numerous changes for the new version of bindgen.

cargo test passes
2016-08-14 21:23:05 -07:00
Nathan Fiedler 2c94dab05a Add license header to contributed files 2016-08-14 18:46:03 -07:00
Nathan Fiedler f41202af44 No longer need to ignore bindings.rs 2016-08-12 20:32:07 -07:00
Nathan Fiedler 7a5bd98746 Merge pull request #13 from gadomski/set-option
Add `set_option` method.
2016-08-03 20:34:21 -07:00
Pete Gadomski eeb014af1f Add set_option method.
This is useful for stuff like setting the loop option for a gif.
2016-08-02 12:01:34 -06:00
Pete Gadomski b46f8a47ac Add write_images_blob
This method goes down to `MagickGetImagesBlob`, which allows for
creating animated gifs.

I didn't abstract out common operations between the two in the interest
of not overly polluting the codebase. However, this new method is almost
identical to `write_image_blob` so you could probably abstract something
out of there.
2016-08-02 11:35:16 -06:00
Herman J. Radtke III 1b2d7010af
Change MagickWand::read_image_blob to use ref
Breaking change.

The `read_image_blob` function does not need to take ownership of the
image byte array.
2016-06-25 09:47:09 -07:00
Mattis Marjak 9d2eba64a3 use size_t and ssize_t types for cross-compilation 2016-05-16 19:03:45 +03:00
Mattis Marjak 9e2285a4aa add drawing and pixel wands; add some methods to MagickWand 2016-05-11 22:12:42 +03:00
Mattis Marjak 4c7cebe628 move MagickWand to wand/magick.rs and filters to filters.rs 2016-05-11 17:03:53 +03:00
Mattis Marjak 85a4b97b70 place generated files in OUT_DIR 2016-05-11 16:52:15 +03:00
Nathan Fiedler faebc468ba Detect and correct non-optimal image orientation
cargo test passes
2016-03-29 18:28:33 -07:00
Nathan Fiedler 04e1052266 Automatically build ImageMagick bindings
Leave the generated bindings out of the source repository and instead
have Cargo automatically build them if they are missing. This allows the
version of MagickWand to be incorporated into the bindings
automatically. For instance, in Homebrew the version is 6.Q16, while on
FreeBSD 10.2 it is 6.9, and only be generating the bindings for each
system can we ensure a smooth compilation process.
2016-01-25 19:58:43 -08:00
Nathan Fiedler 7bc3f274d2 Fix image property accessor to copy C string
cargo test passes
2016-01-02 19:57:39 -08:00
Nathan Fiedler 19377db422 Add get_image_property() to retrieve properties
cargo test passes
2016-01-02 14:31:20 -08:00
Nathan Fiedler 0cc8073a48 Upgrade to libc 0.2.4 2015-12-26 20:02:32 -08:00
Nathan Fiedler 5e091bf488 Add a fit function to resize an image
Given a bounding box defined by the desired width and height, resize the
image to fit that box, maintaining the aspect ratio.

cargo test passes
2015-06-10 21:27:58 -07:00
Nathan Fiedler 56877aaad3 Write image to a vector of bytes (in memory write)
cargo test passes
2015-06-09 22:18:57 -07:00
Nathan Fiedler 78d681608d Read image data from a vector of bytes
cargo test passes
2015-06-09 06:57:56 -07:00
Nathan Fiedler 1781b39863 Basic API in place, some tests working
Reading an image, getting its dimensions, and resizing are working.

cargo test passes
2015-06-08 21:47:17 -07:00
Nathan Fiedler ed91ab75d0 Initial generated bindings and basic API 2015-06-06 21:30:42 -07:00