sobakasu-image_science 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,6 +1,12 @@
1
- == 1.1.3 2010-02-24
1
+ == 1.1.4 / 2010-09-15
2
2
 
3
- * fixed call to FreeImage_Rotate() (used in newer versions of FreeImage)
3
+ * added 'fit_within' command to bin/image_science.
4
+ * added options information to bin/image_science -h
5
+ * merged changes from scotje/image_science - fix for gif conversion to 8bit
6
+
7
+ == 1.1.3 / 2010-02-23
8
+
9
+ * fixed parameters to FreeImage_Rotate
4
10
 
5
11
  == 1.1.2 / 2010-02-12
6
12
 
data/bin/image_science CHANGED
@@ -29,12 +29,13 @@
29
29
  #
30
30
  # == Commands
31
31
  #
32
- # The following commands are recognised
32
+ # The following commands are recognised:
33
33
  #
34
34
  # * info
35
35
  # * histogram
36
36
  # * get_version
37
37
  # * resize <width> <height>
38
+ # * fit_within <max_width> <max_height>
38
39
  # * crop <left> <top> <right> <bottom>
39
40
  # * get_pixel_color <x> <y>
40
41
  # * set_pixel_color <x> <y> <red> <green> <blue> [<alpha>]
@@ -125,9 +126,18 @@ def usage(bonus_args = nil)
125
126
  cmd = @command || "[command]"
126
127
  usage = ["usage: image_science [OPTIONS]", cmd, bonus_args, "[image_file]"].
127
128
  compact.join(" ")
128
-
129
+
130
+ usage += "\n\n"
131
+ usage += <<EOM
132
+ options:
133
+ -h: display this help message
134
+ -i: input file (by default read from stdin, or last argument)
135
+ -o: output file (by default write to stdout, or a file named 'output')
136
+ -d: debug mode
137
+ EOM
138
+
129
139
  if !@command
130
- re = Regexp.new('== Commands(.*?)= Examples', Regexp::MULTILINE)
140
+ re = Regexp.new('== Commands\n(.*?)= Examples', Regexp::MULTILINE)
131
141
  commands = $1.gsub(/#/, '') if File.read(__FILE__).match(re)
132
142
  usage += commands.sub(/[\n\s]+\z/, '') + "\n\n"
133
143
  end
@@ -180,6 +190,9 @@ EOM
180
190
  when 'resize'
181
191
  w, h = expect_params(%W{<width> <height>})
182
192
  process_data(opts) { |i| i.send(@command, w, h); @changed = true }
193
+ when 'fit_within'
194
+ w, h = expect_params(%W{<max_width> <max_height>})
195
+ process_data(opts) { |i| i.send(@command, w, h); @changed = true }
183
196
  when 'get_pixel_color'
184
197
  x, y = expect_params(%W{<x> <y>})
185
198
  process_data(opts) { |i| warn i.get_pixel_color(x, y).inspect }
@@ -84,7 +84,11 @@ _prepare_bitmap_for_save(FIBITMAP *bitmap, FREE_IMAGE_FORMAT fif)
84
84
  new_bitmap = FreeImage_ConvertTo24Bits(bitmap);
85
85
  }
86
86
  if (fif == FIF_GIF && FreeImage_GetBPP(bitmap) != 8) {
87
- new_bitmap = FreeImage_ConvertTo8Bits(bitmap);
87
+ if (FreeImage_GetBPP(bitmap) != 24) {
88
+ new_bitmap = FreeImage_ColorQuantize(FreeImage_ConvertTo24Bits(bitmap), FIQ_WUQUANT);
89
+ } else {
90
+ new_bitmap = FreeImage_ColorQuantize(bitmap, FIQ_WUQUANT);
91
+ }
88
92
  }
89
93
 
90
94
  if (new_bitmap) copy_icc_profile(bitmap, new_bitmap, fif);
data/lib/image_science.rb CHANGED
@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../ext/image_science_ext'
2
2
 
3
3
  class ImageScience
4
4
 
5
- VERSION = "1.1.3"
5
+ VERSION = "1.1.4"
6
6
 
7
7
  ##
8
8
  # Returns the type of the image as a string.
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sobakasu-image_science
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 1
9
+ - 4
10
+ version: 1.1.4
5
11
  platform: ruby
6
12
  authors:
7
13
  - Ryan Davis
@@ -10,19 +16,41 @@ autorequire:
10
16
  bindir: bin
11
17
  cert_chain: []
12
18
 
13
- date: 2010-02-24 00:00:00 +10:30
19
+ date: 2010-09-15 00:00:00 +09:30
14
20
  default_executable:
15
21
  dependencies:
16
22
  - !ruby/object:Gem::Dependency
17
- name: hoe
23
+ name: rubyforge
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 7
31
+ segments:
32
+ - 2
33
+ - 0
34
+ - 4
35
+ version: 2.0.4
18
36
  type: :development
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: hoe
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
21
43
  requirements:
22
44
  - - ">="
23
45
  - !ruby/object:Gem::Version
24
- version: 2.3.3
25
- version:
46
+ hash: 19
47
+ segments:
48
+ - 2
49
+ - 6
50
+ - 2
51
+ version: 2.6.2
52
+ type: :development
53
+ version_requirements: *id002
26
54
  description: |-
27
55
  ImageScience is a clean and happy Ruby library that generates
28
56
  thumbnails -- and kicks the living crap out of RMagick. Oh, and it
@@ -73,23 +101,28 @@ rdoc_options:
73
101
  - README.txt
74
102
  require_paths:
75
103
  - lib
76
- - ext
77
104
  required_ruby_version: !ruby/object:Gem::Requirement
105
+ none: false
78
106
  requirements:
79
107
  - - ">="
80
108
  - !ruby/object:Gem::Version
109
+ hash: 3
110
+ segments:
111
+ - 0
81
112
  version: "0"
82
- version:
83
113
  required_rubygems_version: !ruby/object:Gem::Requirement
114
+ none: false
84
115
  requirements:
85
116
  - - ">="
86
117
  - !ruby/object:Gem::Version
118
+ hash: 3
119
+ segments:
120
+ - 0
87
121
  version: "0"
88
- version:
89
122
  requirements: []
90
123
 
91
124
  rubyforge_project: sobakasu-image_science
92
- rubygems_version: 1.3.5
125
+ rubygems_version: 1.3.7
93
126
  signing_key:
94
127
  specification_version: 3
95
128
  summary: ImageScience is a clean and happy Ruby library that generates thumbnails -- and kicks the living crap out of RMagick