Commit Graph
98 Commits
Author SHA1 Message Date
Nathan Fiedler f8e930e01e Merge pull request #41 from pixers/master
More MagickWand functions implemented
2018-05-18 20:49:55 -07:00
Nathan Fiedler 3fa19db295 Improve grammar in README file 2018-05-06 18:31:55 -07:00
Nathan Fiedler 279fe97b5b Update crate version 2018-05-05 10:41:22 -07:00
Nathan Fiedler 92c91713a9 Update changelog for 0.9.0 release 2018-05-05 10:34:35 -07:00
Nathan Fiedler 65dd2e92e1 Set Rust docker image version to "latest"
ImageMagick is still set to 7.0.x for now.
2018-03-30 10:45:53 -07:00
Nathan Fiedler cac80848ed Merge pull request #37 from pixers/master
Wrap additional MagickWand functions.
2018-03-30 09:50:46 -07:00
Nathan Fiedler 0366b9352d Merge pull request #36 from pixers/fix-string_get-memory-leak
Fix memory management in `string_get!`
2018-03-29 20:11:32 -07:00
Nathan Fiedler 2ba8a3d0d0 Merge pull request #35 from sindreij/fix-multi-page-pdf
Fix exporting pdf->jpeg for multi-page pdf
2018-03-28 08:55:51 -07:00
Nathan Fiedler a97c9a92bc Prepare for the 0.8.0 minor release 2018-02-16 09:54:20 -08:00
Nathan Fiedler 82dd58b726 Image colors value has some variability
cargo test passes
2018-02-16 09:51:20 -08:00
Nathan Fiedler cfc97f2caf Merge pull request #34 from sindreij/add-crop-image
Add crop_image to MagickWand
2018-02-14 09:23:00 -08:00
Nathan Fiedler 71b854de9d Merge pull request #33 from little-bobby-tables/color-transformations
Add color-related getters and transforms
2018-01-03 10:38:30 -08:00
Nathan Fiedler 1c89e0dc21 Prepare for the 0.7.1 patch release 2017-12-30 08:36:59 -08:00
Nathan Fiedler 7e33bda69f Update Dockerfile to rust 1.22, latest ImageMagick
Using latest bitflags crate requires a newer version of Rust.

cargo test passes
2017-12-22 20:12:58 -08:00
Nathan Fiedler 25547a9178 Merge pull request #32 from gentoo90/fix-build
Hide more types to fix build
2017-12-22 17:55:58 -08:00
Nathan Fiedler 8f41f2ad49 Update to ImageMagick 7.0.7-14 for Docker build 2017-12-07 18:34:43 -08:00
Nathan Fiedler c8cff380fe Update to ImageMagick 7.0.7-13 for Docker build 2017-12-02 11:42:24 -08:00
Nathan Fiedler 3e178d1b8e Update ImageMagick version in Dockerfile 2017-11-26 19:48:21 -08:00
Nathan Fiedler c2e519f19f Some tidying up 2017-10-08 17:10:56 -07:00
Nathan Fiedler 88dcb28e40 Update ImageMagick version in Dockerfile 2017-10-08 17:10:36 -07:00
Nathan Fiedler 2e6d7faa41 Merge pull request #28 from gentoo90/windows
Parametrize build, add Windows support.
2017-10-08 15:37:56 -07:00
Nathan Fiedler 06f1a4352a Merge branch 'magick-7' 2017-08-26 13:14:51 -07:00
Nathan Fiedler a758819cc9 Update changelog, readme, and crate version
cargo test passes
2017-08-26 13:14:12 -07:00
Nathan Fiedler a1f211ad1f Merge pull request #27 from little-bobby-tables/get-image-page
Add get_image_page to MagickWand
2017-08-23 08:42:05 -07:00
Nathan Fiedler a1d50c2f01 Remove old cruft, document testing with Docker 2017-08-19 20:10:23 -07:00
Nathan Fiedler 2d63b00b1f Fix typo in doc comment 2017-08-19 17:45:06 -07:00
Nathan Fiedler 14f78e3734 Fix pkg-config invocation in build.rs
It seems that pkg-config ignores the --max-version option when combined with
certain other options. As such, that check was not really working. Since the
pkg-config Rust crate always passes those certain other options, it is
necessary to invoke the pkg-config command directly from build.rs instead.

cargo test passes
2017-07-10 21:32:59 -07:00
Nathan Fiedler acabbafa08 Downgrade rust-bindgen to 0.25.5
There is an issue when building on Linux when using 0.26.0 or higher, so
keep to a version that still works on Mac and Linux.

cargo test passes
2017-07-08 21:30:42 -07:00
Nathan Fiedler 979cdd3269 Fix Ubuntu 16 test VM, rename directory
Also remove the FreeBSD VM definition, as it basically does not work in
VirtualBox and Vagrant, for whatever reason.
2017-07-08 21:29:04 -07:00
Nathan Fiedler 1436145cb5 Tag new release with small API addition
Also, update bindgen version and format some of the comments and
documentation.

cargo test passes
2017-07-07 20:38:01 -07:00
Nathan Fiedler cba0de65fa Merge pull request #25 from gentoo90/compare
Add `compare_images` method
2017-05-16 10:08:58 -07:00
Nathan Fiedler 4a5b6935ed Merge pull request #24 from gadomski/split-pkg-config-version-flags
Split the pkg-config version and flags checks
2017-04-10 11:23:28 -07:00
Nathan Fiedler 00749a2d3d Forgot to set package version 2017-04-08 21:07:20 -07:00
Nathan Fiedler 034a7313bf Update CHANGELOG, add bindgen link to README 2017-04-08 20:58:20 -07: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 d86bf69079 Strike out bindgen in README file 2017-04-06 20:02:54 -07:00
Nathan Fiedler b22e97c908 Hack the MagickWand bindings
Using rust-bindgen to generate the bindings for the MagickWand library is
extremely difficult with the new versions of rust-bindgen. The old versions
of the generated bindings will be used for now, and nothing will be
generated at build time.

cargo test passes
2017-04-06 19:58:58 -07:00
Nathan Fiedler f4843c246c Test with some flexibility in image size
The size of the image can vary from version to version (of ImageMagick) and
platform to platform (i.e. MacOS and FreeBSD). As such, allow for a degree
of variability in the resulting image size.

cargo test passes
2017-01-22 14:13:05 -08:00
Nathan Fiedler 6ade7438d9 Additional Homebrew link command is needed 2017-01-21 15:30:37 -08:00
Nathan Fiedler 693dc0b4e9 Specify exactly how to install ImageMagick with Homebrew 2017-01-21 13:18:22 -08:00
Nathan Fiedler c45a066093 Quiet the package installation in Fabric script 2016-10-20 09:02:13 -07:00
Nathan Fiedler 2eccf1e91b Ensure pkg-config present when generating bindings
Not all systems have pkg-config installed by default.

cargo test passes
2016-10-20 08:51:25 -07:00
Nathan Fiedler b63f25c550 Enforce MagickWand version in build.rs
It is very easy to overlook the version of MagickWand mentioned in the
README, so make sure the build system enforces it.

Fixes #19

cargo test passes
2016-10-16 11:00:06 -07:00
Nathan Fiedler cb40925af0 Merge pull request #18 from brunoqc/patch-1
syntax highlighting in README.md
2016-10-05 09:39:53 -07:00
Nathan Fiedler 50d10a3285 Add notes for 0.6.0 release 2016-09-20 20:11:49 -07:00
Nathan Fiedler dd4becddd7 Hack to get build working on FreeBSD again
Due to a bug in rust-bindgen, use the bindings as generated on the Mac
for the same version of MagickWand as found on FreeBSD. That is, when
build.rs is invoked on a FreeBSD system, it will use the Mac-generated
bindings.rs rather than pulling down rust-bindgen and invoking it to
generate the bindings on the fly. See issue #385 in the rust-bindgen
project for details.

cargo test passes
2016-09-20 20:03:28 -07:00
Nathan Fiedler 2a76a0f164 Merge pull request #17 from gadomski/remove-usr-local-lib-link-path
Remove /usr/local/lib from rustc link search on OSX
2016-08-25 08:52:32 -07:00
Nathan Fiedler 094e24d859 Clarify versions of dependencies 2016-08-18 15:53:14 -07:00
Nathan Fiedler 39a58432b7 Include note about LIBCLANG_PATH envar for Linux 2016-08-18 15:47:35 -07:00
Nathan Fiedler b0d439892b Correct the copyright year 2016-08-18 15:47:14 -07:00
Nathan Fiedler 8b8f2b4444 Update Fabric script for provisioning Ubuntu VM 2016-08-18 14:59:04 -07:00
Nathan Fiedler 5b4ba71530 Make note that Clang is required to build 2016-08-18 14:58:45 -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 a3a02fc6d9 Add changes from recent merge requests 2016-08-03 20:39:26 -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
Nathan Fiedler 76e4abb862 Merge pull request #12 from gadomski/write-images-blob
Add `write_images_blob`
2016-08-03 20:31:15 -07:00
Nathan Fiedler 1dcd0f6933 Fix crate version number
cargo test passes
2016-07-17 18:09:09 -07:00
Nathan Fiedler 95c6d58789 Correct the crate version number 2016-07-17 17:48:55 -07:00
Nathan Fiedler 96071ca377 Use Result.expect() in the suitable cases 2016-07-14 19:12:27 -07:00
Nathan Fiedler dff74fac98 Use 6.9 version of ImageMagick for Ubuntu VM 2016-07-14 17:48:54 -07:00
Nathan Fiedler f60f612baf Update changelog to reflect API change 2016-06-25 15:42:39 -07:00
Nathan Fiedler 731025764d Fix the tests after the API change 2016-06-25 15:39:36 -07:00
Nathan Fiedler 391c84a014 Merge pull request #10 from hjr3/read_image_blob-as_ref
Change MagickWand::read_image_blob to use ref
2016-06-25 15:29:07 -07:00
Nathan Fiedler 40ebf0fbf7 Merge pull request #7 from hjr3/patch-1
Update required version to 6.9
2016-06-18 15:25:41 -07:00
Nathan Fiedler f9521106b5 Update the changelog for latest changes 2016-05-18 06:50:27 -07:00
Nathan Fiedler b20c99ecb8 Merge pull request #5 from marjakm/master
add drawing and pixel wands; add some methods to MagickWand
2016-05-18 06:43:53 -07:00
Nathan Fiedler a5cb97d3cf Correct the rotated image to match expectations
The test image that was meant to be rotated was generated incorrectly.
It now corresponds to the following ImageMagick command:

$ convert in -rotate 90 -orient left-bottom out

cargo test passes
2016-03-29 20:56:58 -07:00
Nathan Fiedler faebc468ba Detect and correct non-optimal image orientation
cargo test passes
2016-03-29 18:28:33 -07:00
Nathan Fiedler 3732fd5747 Report missing MagickWand-config in build.rs
Since build.rs requires MagickWand-config, make an effort to determine
if the executable is available or not, and panic with a clear course of
action. Otherwise the error is rather cryptic.

Fixes #3

cargo test passes
2016-03-23 18:00:52 -07:00
Nathan Fiedler 856a9e7c78 Handle building on macos a little better
First, only add the special environment variable when building on Mac OS
X. Second, look for the path to ensure the Xcode command line tools are
installed, and panic if that is not the case.

cargo test passes
2016-03-22 20:56:09 -07:00
Nathan Fiedler 4741780a7a Add a pointer to the setup documentation 2016-03-22 20:56:02 -07:00
Nathan Fiedler 9732f87847 Indicate that the Vagrant guest is FreeBSD 2016-03-22 20:55:49 -07:00
Nathan Fiedler 1dc7dc46a5 Specify libc 0.2 or higher as a dependency
cargo test passes
2016-03-17 15:38:22 -07:00
Nathan Fiedler ec1875fedb Minor tweaks to the Vagrant files 2016-02-13 15:18:13 -08:00
Nathan Fiedler dd78d6bfac Vagrant/Fabric setup for testing Ubuntu, FreeBSD 2016-02-13 13:09:06 -08:00
Nathan Fiedler 0c3c8888a7 Update the cargo manifest for latest release 2016-02-10 20:42:26 -08:00
Nathan Fiedler dda30c2769 Update changelog to reflect latest tag 2016-02-10 20:39:52 -08:00
Nathan Fiedler ebf4559ede Instructions for building on various platforms
Include Vagrant files for FreeBSD 10.2 and Ubuntu Linux 14.04 LTS.
2016-02-10 18:11:32 -08:00
Nathan Fiedler f115a7a774 Tests now pass on Mac OS X, Ubuntu Linux, and FreeBSD 2016-02-10 17:41:17 -08:00
Nathan Fiedler 708d4b444b Update notes on dependencies 2016-02-06 14:08:31 -08:00
Nathan Fiedler 61033dbb94 Use cfg! so test passes on FreeBSD 2016-02-03 21:08:02 -08: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 34c4fec9fe Use canonical tag name for original date 2016-01-02 20:47:38 -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 6ca185df19 Add a changelog 2015-12-27 15:10:52 -08:00
Nathan Fiedler 0cc8073a48 Upgrade to libc 0.2.4 2015-12-26 20:02:32 -08:00
Nathan Fiedler 0474886c14 Include path to MagickWand for easier building 2015-12-23 11:34:51 -08:00
Nathan Fiedler c2300b02cf Add creates details and example usage 2015-10-08 06:52:41 -07:00
Nathan Fiedler 51eee19495 Correct the package name 2015-09-07 14:21:10 -07:00
Nathan Fiedler 1c1cc62ff9 Bump the version to 0.2.0 2015-06-10 21:29:47 -07: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