Commit Graph

156 Commits

Author SHA1 Message Date
a277b7cfe7 feat: MagickFxImage bindning
New macro to create a new wand from another wand.
2020-04-21 08:32:18 +02:00
517fd5ef5f feat: set_image_gray 2020-04-21 08:29:34 +02:00
97d620beb8 Binding for MagickClutImage 2020-03-25 14:29:52 +01:00
7d805d9a83 Binding for MagickSetSize 2020-03-25 14:26:41 +01:00
42
fe9b6f805d Add gaussian blur function 2020-01-07 20:53:10 +02:00
f286c631b9 Format code using 'cargo fmt' 2019-08-17 21:48:01 +05:30
089e6fcb90 Binding for set_background_color 2019-05-29 15:03:17 +08:00
122f144ecb Made exception related functions public
cargo test passes
2019-04-17 20:15:48 -07:00
07c4971b66 Fix the clippy warnings
cargo test passes
2019-02-01 20:00:29 -08:00
bd34f145a2 Ran cargo fmt on the code base, looks better
cargo test passes
2018-10-06 15:38:33 -07:00
8a4fced836 Update to latest release of bindgen
Note that all of the enum definitions changed (again?), and now they are
flattened into the 'bindings' namespace. This breaks the API in a way that
is relatively easy to fix, albeit annoying. Attempts to change the enum
generation using default_enum_style() resulted in endless compiler errors.

cargo test passes
2018-10-06 15:37:41 -07:00
336606f121 Merge pull request #45 from magiclen/feature/set_sampling_factors
Binding for set_sampling_factors
2018-08-12 17:33:39 -07:00
b190cc787a Binding for set_sampling_factors 2018-08-12 23:28:32 +08:00
fd8f5e49a2 Binding for set_image_background_color 2018-08-12 23:05:45 +08:00
be0c6f5914 Binding for sharpen_image 2018-08-12 22:45:19 +08:00
a10b98a790 Binding for adaptive_resize_image 2018-05-25 19:32:45 -04:00
f694737ac5 Revert "Making self mutable"
This reverts commit 15a2fd7d1a.
2018-05-25 16:51:23 -04:00
15a2fd7d1a Making self mutable 2018-05-25 16:49:38 -04:00
3daa8e77e8 adding docs & rotate_image 2018-05-25 16:39:59 -04:00
ccda94221f Adding binding for MagickAddImage 2018-05-25 16:00:40 -04:00
88ceb3a4af Add set_image_alpha_channel function 2018-05-18 13:51:50 +00:00
631725121a Add reset_image_page function. 2018-05-18 13:51:50 +00:00
b47d2e64c5 Add ping_image and ping_image_blob functions. 2018-05-18 13:51:50 +00:00
1f4a586426 More MagickWand functions wrapped. 2018-03-29 11:12:09 +02:00
7b4cca3956 MagickCropImage returns a result, and so should crop_image 2018-03-29 11:12:09 +02:00
07dd10f9cb Fix memory management in string_get! 2018-03-29 11:12:09 +02:00
d5fe6f95cf Fix exporting pdf->jpeg for multi-page pdf
When trying to convert a multi-page pdf to jpeg i got a pdf file
instead of a jpeg file. I figured that the pdf that worked was
a one-page pdf and the pdf that did not work was a two-page pdf.

My theory was that the two pages was loaded as to images in the
wand and that the format was set on the first page and it exported
the second page. And since the second page had the old format, it
was exported as a pdf.

Resetting the page iterator before exporting the image fixed the
bug, and the multi-page pdf was exported as a jpeg. The image that
was exported was just the first page, but it works for my usage.
2018-03-27 15:47:54 +02:00
f397e65634 Add crop_image to MagickWand 2018-02-14 12:44:00 +01:00
f2b153c987 add color-related getters and mutations 2018-01-03 17:04:45 +07:00
06f1a4352a Merge branch 'magick-7' 2017-08-26 13:14:51 -07:00
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
2d63b00b1f Fix typo in doc comment 2017-08-19 17:45:06 -07:00
7abde0e7c6 resolve initial compilation issues 2017-08-19 16:35:58 +07:00
c50b3e27de Add compare_images method 2017-05-16 16:43:08 +03:00
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
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
2c94dab05a Add license header to contributed files 2016-08-14 18:46:03 -07:00
f41202af44 No longer need to ignore bindings.rs 2016-08-12 20:32:07 -07:00
7a5bd98746 Merge pull request #13 from gadomski/set-option
Add `set_option` method.
2016-08-03 20:34:21 -07:00
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
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
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
9d2eba64a3 use size_t and ssize_t types for cross-compilation 2016-05-16 19:03:45 +03:00
9e2285a4aa add drawing and pixel wands; add some methods to MagickWand 2016-05-11 22:12:42 +03:00
4c7cebe628 move MagickWand to wand/magick.rs and filters to filters.rs 2016-05-11 17:03:53 +03:00
85a4b97b70 place generated files in OUT_DIR 2016-05-11 16:52:15 +03:00
faebc468ba Detect and correct non-optimal image orientation
cargo test passes
2016-03-29 18:28:33 -07:00
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
7bc3f274d2 Fix image property accessor to copy C string
cargo test passes
2016-01-02 19:57:39 -08:00
19377db422 Add get_image_property() to retrieve properties
cargo test passes
2016-01-02 14:31:20 -08:00