pikl 0.2.4 → 0.2.5

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,6 @@
1
+ == 0.2.5
2
+ * Added fit method.
3
+
1
4
  == 0.2.4
2
5
  * Added flexible rotate.
3
6
 
data/Manifest.txt CHANGED
@@ -2,7 +2,6 @@ History.txt
2
2
  License.txt
3
3
  Manifest.txt
4
4
  README.txt
5
- Rakefile
6
5
  config/hoe.rb
7
6
  config/requirements.rb
8
7
  ext/pikl/extconf.rb
data/config/hoe.rb CHANGED
@@ -61,7 +61,7 @@ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
61
61
  p.description = DESCRIPTION
62
62
  p.summary = DESCRIPTION
63
63
  p.url = HOMEPATH
64
- p.rubyforge_name = (PACKAGE_PLATFORM =~ /mswin32/) ? "#{GEM_NAME}-x86-mswin32" : GEM_NAME
64
+ p.rubyforge_name = (PACKAGE_PLATFORM =~ /mswin32/) ? "#{GEM_NAME}-mswin32" : GEM_NAME
65
65
 
66
66
  p.test_globs = ["test/**/test_*.rb"]
67
67
  p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
data/lib/pikl/image.rb CHANGED
@@ -82,6 +82,21 @@ module Pikl
82
82
  self
83
83
  end
84
84
 
85
+ def fit(width, height, mode = :inner)
86
+ error("invalid mode parameter. # => #{mode}") unless [:inner, :outer].include?(mode)
87
+ self.send("fit_#{mode.to_s}", width, height)
88
+ end
89
+
90
+ def fit_inner(width, height)
91
+ to_w, to_h = ((width.to_f / self.width.to_f) < (height.to_f / self.height.to_f)) ? [width, :auto] : [:auto, height]
92
+ resize(to_w,to_h)
93
+ end
94
+
95
+ def fit_outer(width, height)
96
+ to_w, to_h = ((width.to_f / self.width.to_f) > (height.to_f / self.height.to_f)) ? [width, :auto] : [:auto, height]
97
+ resize(to_w,to_h)
98
+ end
99
+
85
100
  def color_int(colorstr)
86
101
  validate_color(colorstr)
87
102
  cs = colorstr.gsub(/^#/,"")
data/lib/pikl/version.rb CHANGED
@@ -2,7 +2,7 @@ module Pikl #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 4
5
+ TINY = 5
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -27,6 +27,61 @@ class TestPiklImage < Test::Unit::TestCase
27
27
 
28
28
  end
29
29
 
30
+ def test_fit_inner
31
+ #sample.jpg must be 120x160.
32
+ img = Pikl::Image.open(SAMPLE_IMAGE)
33
+ img.fit(60,81)
34
+ assert_equal(60, img.width)
35
+ assert_equal(80, img.height)
36
+ img.close()
37
+
38
+ img = Pikl::Image.open(SAMPLE_IMAGE)
39
+ img.fit(61,80)
40
+ assert_equal(60, img.width)
41
+ assert_equal(80, img.height)
42
+ img.close()
43
+
44
+ img = Pikl::Image.open(SAMPLE_IMAGE)
45
+ img.fit(240,321)
46
+ assert_equal(240, img.width)
47
+ assert_equal(320, img.height)
48
+ img.close()
49
+
50
+ img = Pikl::Image.open(SAMPLE_IMAGE)
51
+ img.fit(361,480)
52
+ assert_equal(360, img.width)
53
+ assert_equal(480, img.height)
54
+ img.close()
55
+ end
56
+
57
+ def test_fit_outer
58
+ #sample.jpg must be 120x160.
59
+ img = Pikl::Image.open(SAMPLE_IMAGE)
60
+ img.fit(360,479,:outer)
61
+ assert_equal(360, img.width)
62
+ assert_equal(480, img.height)
63
+ img.close()
64
+
65
+ img = Pikl::Image.open(SAMPLE_IMAGE)
66
+ img.fit(359,480,:outer)
67
+ assert_equal(360, img.width)
68
+ assert_equal(480, img.height)
69
+ img.close()
70
+
71
+ img = Pikl::Image.open(SAMPLE_IMAGE)
72
+ img.fit(119,160,:outer)
73
+ assert_equal(120, img.width)
74
+ assert_equal(160, img.height)
75
+ img.close()
76
+
77
+ img = Pikl::Image.open(SAMPLE_IMAGE)
78
+ img.fit(120,159,:outer)
79
+ assert_equal(120, img.width)
80
+ assert_equal(160, img.height)
81
+ img.close()
82
+ end
83
+
84
+
30
85
  def test_trim
31
86
  Pikl::Image.open(SAMPLE_IMAGE) do |img|
32
87
 
metadata CHANGED
@@ -1,41 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.2
3
- specification_version: 1
4
2
  name: pikl
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.2.4
7
- date: 2008-06-13 00:00:00 +09:00
8
- summary: Pikl is an image librarry for JPEG, PNG and Bitmap.Pikl's API is designed to process the image easily with method chain.
9
- require_paths:
10
- - lib
11
- - ext
12
- email:
13
- - ""
14
- homepage: http://pikl.rubyforge.org
15
- rubyforge_project: pikl
16
- description: Pikl is an image librarry for JPEG, PNG and Bitmap.Pikl's API is designed to process the image easily with method chain.
17
- autorequire:
18
- default_executable:
19
- bindir: bin
20
- has_rdoc: true
21
- required_ruby_version: !ruby/object:Gem::Version::Requirement
22
- requirements:
23
- - - ">"
24
- - !ruby/object:Gem::Version
25
- version: 0.0.0
26
- version:
4
+ version: 0.2.5
27
5
  platform: ruby
28
- signing_key:
29
- cert_chain:
30
- post_install_message:
31
6
  authors:
32
7
  - Ryota Maruko
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-06-22 00:00:00 +09:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Pikl is an image librarry for JPEG, PNG and Bitmap.Pikl's API is designed to process the image easily with method chain.
17
+ email:
18
+ - ""
19
+ executables: []
20
+
21
+ extensions:
22
+ - ext/pikl/extconf.rb
23
+ extra_rdoc_files:
24
+ - History.txt
25
+ - License.txt
26
+ - Manifest.txt
27
+ - README.txt
33
28
  files:
34
29
  - History.txt
35
30
  - License.txt
36
31
  - Manifest.txt
37
32
  - README.txt
38
- - Rakefile
39
33
  - config/hoe.rb
40
34
  - config/requirements.rb
41
35
  - ext/pikl/extconf.rb
@@ -69,22 +63,34 @@ files:
69
63
  - test/sample.jpg
70
64
  - test/test_helper.rb
71
65
  - test/test_pikl_image.rb
72
- test_files:
73
- - test/test_helper.rb
74
- - test/test_pikl_image.rb
66
+ has_rdoc: true
67
+ homepage: http://pikl.rubyforge.org
68
+ post_install_message:
75
69
  rdoc_options:
76
70
  - --main
77
71
  - README.txt
78
- extra_rdoc_files:
79
- - History.txt
80
- - License.txt
81
- - Manifest.txt
82
- - README.txt
83
- executables: []
84
-
85
- extensions:
86
- - ext/pikl/extconf.rb
72
+ require_paths:
73
+ - lib
74
+ - ext
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: "0"
80
+ version:
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: "0"
86
+ version:
87
87
  requirements: []
88
88
 
89
- dependencies: []
90
-
89
+ rubyforge_project: pikl
90
+ rubygems_version: 1.0.1
91
+ signing_key:
92
+ specification_version: 2
93
+ summary: Pikl is an image librarry for JPEG, PNG and Bitmap.Pikl's API is designed to process the image easily with method chain.
94
+ test_files:
95
+ - test/test_helper.rb
96
+ - test/test_pikl_image.rb
data/Rakefile DELETED
@@ -1,4 +0,0 @@
1
- PACKAGE_PLATFORM = (ARGV[0] =~ /mswin32$/) ? 'mswin32' : RUBY_PLATFORM
2
- require 'config/requirements'
3
- require 'config/hoe' # setup Hoe + all gem configuration
4
- Dir['tasks/**/*.rake'].each { |rake| load rake }