mojo_magick 0.4.8 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/Gemfile.lock +1 -1
- data/LICENSE.txt +23 -0
- data/README.md +51 -8
- data/examples/animated_gif.rb +22 -0
- data/examples/composite.rb +23 -0
- data/lib/mojo_magick/opt_builder.rb +7 -0
- data/lib/mojo_magick/version.rb +1 -1
- data/mojo_magick.gemspec +2 -2
- data/test/mojo_magick_test.rb +11 -0
- data/test/opt_builder_test.rb +13 -1
- metadata +8 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f0bc8c31a0b6f8b9f8c5b217cc6dda15b83bf89
|
4
|
+
data.tar.gz: cb03f8a740c020b47cd58ed663c7f4ed15a1a590
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b18a88bd6d774ae1b4a7e0f14de462856d1e6ca4db78785dab40d6ea7475e13133bdfdc32ce83b2b197aa7429ed2b027071e9545728bf8053f050db0f0fd431
|
7
|
+
data.tar.gz: 374987fcec84b5b2a54e67bdd0dd4ff2c3d65efc6b992c7d1055377d809f01827b7add75314d905c3ceaffd196110267f384933318202017162648958a3b4a35
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/LICENSE.txt
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
MojoMagick is released under the MIT license
|
2
|
+
|
3
|
+
The MIT License (MIT)
|
4
|
+
|
5
|
+
Copyright (c) 2013 Jon Rogers, Steve Magley & Elliott Nelson
|
6
|
+
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
+
of this software and associated documentation files (the "Software"), to deal
|
9
|
+
in the Software without restriction, including without limitation the rights
|
10
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
+
copies of the Software, and to permit persons to whom the Software is
|
12
|
+
furnished to do so, subject to the following conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be included in
|
15
|
+
all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
22
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
23
|
+
THE SOFTWARE.
|
data/README.md
CHANGED
@@ -2,9 +2,9 @@ MojoMagick
|
|
2
2
|
==========
|
3
3
|
|
4
4
|
MojoMagick is a "dog simple, do very little" image library. It is basically a couple of stateless
|
5
|
-
module methods that make it somewhat more convenient than calling
|
5
|
+
module methods that make it somewhat more convenient than calling ImageMagick by hand.
|
6
6
|
|
7
|
-
The main reason to use MojoMagick is that you should consolidate your
|
7
|
+
The main reason to use MojoMagick is that you should consolidate your ImageMagick calls into
|
8
8
|
one place, so why not do it here? If you improve on this tool, send me the patch.
|
9
9
|
|
10
10
|
This tool came about because I wanted a fast, simple, lightweight, nothing-goes-wrong-with-it-
|
@@ -132,7 +132,7 @@ complex commands.
|
|
132
132
|
|
133
133
|
### Create a new image with text
|
134
134
|
|
135
|
-
Note: Use with care. If you don't have fonts installed ImageMagick can spin off wildly leaving MojoMagick not knowing what to do. For Unix/MacOSX, you should install freetype and ghostscript
|
135
|
+
Note: Use with care. If you don't have fonts installed ImageMagick can spin off wildly leaving MojoMagick not knowing what to do. For Unix/MacOSX, you should install `freetype` and `ghostscript`.
|
136
136
|
|
137
137
|
MojoMagick::convert(nil, fname) do |c|
|
138
138
|
c.background 'black'
|
@@ -143,14 +143,52 @@ Note: Use with care. If you don't have fonts installed ImageMagick can spin off
|
|
143
143
|
c.label 'the bird is the word'
|
144
144
|
end
|
145
145
|
|
146
|
+
### Generate a composite
|
147
|
+
|
148
|
+
MojoMagick::convert(nil, 'composite_out.png') do |c|
|
149
|
+
c.size '200x200'
|
150
|
+
c.image_block do # first layer
|
151
|
+
c.background 'blue'
|
152
|
+
c.fill 'white'
|
153
|
+
c.gravity 'northwest'
|
154
|
+
c.label 'NW'
|
155
|
+
end
|
156
|
+
c.image_block do # second layer
|
157
|
+
c.background 'transparent'
|
158
|
+
c.fill 'red'
|
159
|
+
c.gravity 'southeast'
|
160
|
+
c.label 'SE'
|
161
|
+
end
|
162
|
+
c.composite
|
163
|
+
end
|
164
|
+
|
165
|
+
|
146
166
|
Availablility
|
147
167
|
=============
|
168
|
+
* [Github Repo](http://github.com/rcode5/mojo_magick) This is the current canonical branch.
|
169
|
+
* Issues/Pull Requests can be submitted through the above repository.
|
170
|
+
|
171
|
+
Recent Changes
|
172
|
+
==============
|
173
|
+
|
174
|
+
#### Version 0.5.1
|
148
175
|
|
149
|
-
|
150
|
-
|
176
|
+
* add `LICENSE.txt` and update README
|
177
|
+
* add `examples/` directory
|
178
|
+
* add support for fonts
|
179
|
+
* add support for building multi-layer images with image blocks (no explicit temp file creation)
|
180
|
+
* [Moved repo to rcode5](http://github.com/rcode5/mojo_magick) Current support and maintenance is happening here.
|
181
|
+
* added `simplecov` for test coverage reports
|
151
182
|
|
183
|
+
#### Versions 0.4.x
|
152
184
|
|
153
|
-
|
185
|
+
* Add rake tasks for gem building and tests
|
186
|
+
* code cleanup
|
187
|
+
* better handling of `gravity` parameter
|
188
|
+
|
189
|
+
#### Version 0.3.0
|
190
|
+
|
191
|
+
* Add new github repo
|
154
192
|
* added gemspec for building gem with bundler
|
155
193
|
* updated tests for ImageMagick 6.6
|
156
194
|
* added ability to do fill + crop resizing
|
@@ -158,10 +196,15 @@ Availablility
|
|
158
196
|
* [new github repo](https://github.com/bunnymatic/mojo_magick)
|
159
197
|
|
160
198
|
|
199
|
+
|
161
200
|
References
|
162
201
|
==========
|
163
202
|
|
203
|
+
* [Original SVN MojoMagick repository](http://www.misuse.org/science/2008/01/30/mojomagick-ruby-image-library-for-imagemagick/) - Initiated and developed by Steve Midgley
|
164
204
|
* [ImageMagick](http://www.imagemagick.org/)
|
205
|
+
* [FreeType](http://www.freetype.org)
|
206
|
+
* [Ghostscript](http://www.ghostscript.com/)
|
165
207
|
|
166
|
-
Copyright (c)
|
167
|
-
|
208
|
+
Copyright (c) 2013 Jon Rogers
|
209
|
+
Copyright (c) 2008 Steve Midgley, released under the [MIT license](LICENSE.txt)
|
210
|
+
Credit to Elliot Nelson for significant code contributions. Thanks Elliot!
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
|
4
|
+
require 'mojo_magick'
|
5
|
+
|
6
|
+
MojoMagick::convert(nil, 'animated.gif') do |c|
|
7
|
+
c.size '200x200'
|
8
|
+
c.delay 100
|
9
|
+
c.image_block do # first layer
|
10
|
+
c.background 'blue'
|
11
|
+
c.fill 'white'
|
12
|
+
c.gravity 'northwest'
|
13
|
+
c.label 'NW'
|
14
|
+
end
|
15
|
+
c.image_block do # second layer
|
16
|
+
c.background 'transparent'
|
17
|
+
c.fill 'red'
|
18
|
+
c.gravity 'southeast'
|
19
|
+
c.label 'SE'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
|
4
|
+
require 'mojo_magick'
|
5
|
+
|
6
|
+
MojoMagick::convert(nil, 'composite_out.png') do |c|
|
7
|
+
c.size '200x200'
|
8
|
+
c.delay 100
|
9
|
+
c.image_block do # first layer
|
10
|
+
c.background 'blue'
|
11
|
+
c.fill 'white'
|
12
|
+
c.gravity 'northwest'
|
13
|
+
c.label 'NW'
|
14
|
+
end
|
15
|
+
c.image_block do # second layer
|
16
|
+
c.background 'transparent'
|
17
|
+
c.fill 'red'
|
18
|
+
c.gravity 'southeast'
|
19
|
+
c.label 'SE'
|
20
|
+
end
|
21
|
+
c.composite
|
22
|
+
end
|
23
|
+
|
@@ -46,6 +46,13 @@ module MojoMagick
|
|
46
46
|
file tmpfile
|
47
47
|
end
|
48
48
|
|
49
|
+
def image_block(&block)
|
50
|
+
@opts << '\('
|
51
|
+
yield block
|
52
|
+
@opts << '\)'
|
53
|
+
self
|
54
|
+
end
|
55
|
+
|
49
56
|
# Generic commands. Arguments will be formatted if necessary
|
50
57
|
def method_missing(command, *args)
|
51
58
|
if command.to_s[-1, 1] == '!'
|
data/lib/mojo_magick/version.rb
CHANGED
data/mojo_magick.gemspec
CHANGED
@@ -17,8 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.version = MojoMagick::VERSION
|
18
18
|
s.platform = Gem::Platform::RUBY
|
19
19
|
s.authors = ["Steve Midgley", "Elliot Nelson", "Jon Rogers"]
|
20
|
-
s.email = ["public@misuse.org", "
|
21
|
-
s.homepage = "http://github.com/
|
20
|
+
s.email = ["public@misuse.org", "jon@rcode5.com"]
|
21
|
+
s.homepage = "http://github.com/rcode5/mojo_magick"
|
22
22
|
s.summary = "mojo_magick-#{MojoMagick::VERSION}"
|
23
23
|
s.description = %q{Simple Ruby stateless module interface to imagemagick.}
|
24
24
|
|
data/test/mojo_magick_test.rb
CHANGED
@@ -51,6 +51,17 @@ class MojoMagickTest < Test::Unit::TestCase
|
|
51
51
|
assert_equal 67, new_dimensions[:width]
|
52
52
|
end
|
53
53
|
|
54
|
+
def test_image_resize_with_percentage
|
55
|
+
reset_images
|
56
|
+
original_size = MojoMagick::get_image_size(@test_image)
|
57
|
+
retval = MojoMagick::resize(@test_image, @test_image, {:percent => 50})
|
58
|
+
assert_equal @test_image, retval
|
59
|
+
new_dimensions = MojoMagick::get_image_size(@test_image)
|
60
|
+
[:height, :width].each do |dim|
|
61
|
+
assert_equal (original_size[dim]/2.0).ceil, new_dimensions[dim]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
54
65
|
def test_shrink_with_big_dimensions
|
55
66
|
# image shouldn't resize if we specify very large dimensions and specify "shrink_only"
|
56
67
|
reset_images
|
data/test/opt_builder_test.rb
CHANGED
@@ -4,7 +4,19 @@ class MojoMagickOptBuilderTest < Test::Unit::TestCase
|
|
4
4
|
|
5
5
|
# These tests make the assumption that if we call #raw_command with the
|
6
6
|
# correct strings, ImageMagick itself will operate correctly. We're only
|
7
|
-
# verifying that the option builder produces the correct strings
|
7
|
+
# verifying that the option builder produces the correct strings
|
8
|
+
def test_option_builder_with_blocks
|
9
|
+
# Passing in basic commands produces a string
|
10
|
+
b = MojoMagick::OptBuilder.new
|
11
|
+
b.image_block do
|
12
|
+
b.background 'red'
|
13
|
+
end
|
14
|
+
b.image_block do
|
15
|
+
b.background 'blue'
|
16
|
+
end
|
17
|
+
assert_equal '\( -background red \) \( -background blue \)', b.to_s
|
18
|
+
end
|
19
|
+
|
8
20
|
def test_option_builder
|
9
21
|
# Passing in basic commands produces a string
|
10
22
|
b = MojoMagick::OptBuilder.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mojo_magick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Midgley
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-11-
|
13
|
+
date: 2013-11-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -57,7 +57,7 @@ dependencies:
|
|
57
57
|
description: Simple Ruby stateless module interface to imagemagick.
|
58
58
|
email:
|
59
59
|
- public@misuse.org
|
60
|
-
-
|
60
|
+
- jon@rcode5.com
|
61
61
|
executables: []
|
62
62
|
extensions: []
|
63
63
|
extra_rdoc_files: []
|
@@ -66,8 +66,11 @@ files:
|
|
66
66
|
- .ruby-version
|
67
67
|
- Gemfile
|
68
68
|
- Gemfile.lock
|
69
|
+
- LICENSE.txt
|
69
70
|
- README.md
|
70
71
|
- Rakefile
|
72
|
+
- examples/animated_gif.rb
|
73
|
+
- examples/composite.rb
|
71
74
|
- init.rb
|
72
75
|
- lib/image_magick/fonts.rb
|
73
76
|
- lib/image_magick/resource_limits.rb
|
@@ -89,7 +92,7 @@ files:
|
|
89
92
|
- test/parser_test.rb
|
90
93
|
- test/resource_limits_test.rb
|
91
94
|
- test/test_helper.rb
|
92
|
-
homepage: http://github.com/
|
95
|
+
homepage: http://github.com/rcode5/mojo_magick
|
93
96
|
licenses: []
|
94
97
|
metadata: {}
|
95
98
|
post_install_message: |2+
|
@@ -119,7 +122,7 @@ rubyforge_project: mojo_magick
|
|
119
122
|
rubygems_version: 2.0.3
|
120
123
|
signing_key:
|
121
124
|
specification_version: 4
|
122
|
-
summary: mojo_magick-0.
|
125
|
+
summary: mojo_magick-0.5.1
|
123
126
|
test_files:
|
124
127
|
- test/fixtures/5742.jpg
|
125
128
|
- test/fixtures/not_an_image.jpg
|