imanip 0.1.3 → 0.1.4

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.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.1.4 2008-10-16
2
+
3
+ * minor enhancements
4
+ * Added Image#ratio
5
+ * Crop resize is way better based on ratios
6
+
1
7
  == 0.1.2 2008-08-27
2
8
 
3
9
  * minor enhancements
@@ -49,6 +49,10 @@ module Imanip
49
49
  end
50
50
  end
51
51
 
52
+ def ratio
53
+ width.to_f / height.to_f
54
+ end
55
+
52
56
  def crop(to_file, options = {})
53
57
  @options = options
54
58
  parse_size_options!
@@ -70,13 +74,8 @@ module Imanip
70
74
  crop_width = @geometry[:width]
71
75
  crop_height = @geometry[:height]
72
76
  if !(crop_height.nil? || crop_width.nil?)
73
- if width == height
74
- if portrait?
75
- crop_resize_string << "-resize #{to_geometry_string(:width => crop_width)}"
76
- else
77
- crop_resize_string << "-resize #{to_geometry_string(:height => crop_height)}"
78
- end
79
- elsif portrait?
77
+ crop_ratio = crop_width.to_f / crop_height.to_f
78
+ if crop_ratio > ratio
80
79
  crop_resize_string << "-resize #{to_geometry_string(:width => crop_width)}"
81
80
  else
82
81
  crop_resize_string << "-resize #{to_geometry_string(:height => crop_height)}"
@@ -2,7 +2,7 @@ module Imanip #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 3
5
+ TINY = 4
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -47,6 +47,10 @@ class ImanipMagickTest < Test::Unit::TestCase
47
47
  assert !@portrait_image.landscape?
48
48
  end
49
49
 
50
+ def test_ratio_should_return_width_over_height
51
+ assert_equal(@landscape_image.width.to_f / @landscape_image.height.to_f, @landscape_image.ratio)
52
+ end
53
+
50
54
  def test_resize_should_save_to_new_file
51
55
  assert !File.readable?(new_image_path)
52
56
  assert @portrait_image.resize(new_image_path, :width => 50)
@@ -73,6 +77,21 @@ class ImanipMagickTest < Test::Unit::TestCase
73
77
  assert @portrait_image.crop_resize(new_image_path, :dimensions => dimensions)
74
78
  @new_image = new_imanip_image(new_image_path)
75
79
  assert_equal dimensions, @new_image.dimensions
80
+
81
+ dimensions = [200,153]
82
+ assert @landscape_image.crop_resize(new_image_path, :dimensions => dimensions)
83
+ @new_image = new_imanip_image(new_image_path)
84
+ assert_equal dimensions, @new_image.dimensions
85
+
86
+ dimensions = [100,125]
87
+ assert @portrait_image.crop_resize(new_image_path, :dimensions => dimensions)
88
+ @new_image = new_imanip_image(new_image_path)
89
+ assert_equal dimensions, @new_image.dimensions
90
+
91
+ dimensions = [100,125]
92
+ assert @landscape_image.crop_resize(new_image_path, :dimensions => dimensions)
93
+ @new_image = new_imanip_image(new_image_path)
94
+ assert_equal dimensions, @new_image.dimensions
76
95
  end
77
96
 
78
97
  def test_crop_resize_should_crop_and_resize_image_to_exact_dimensions_with_square_dimensions
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imanip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Quint
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-26 00:00:00 -04:00
12
+ date: 2008-10-16 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency