quick_magick 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of quick_magick might be problematic. Click here for more details.

data/README CHANGED
@@ -176,6 +176,9 @@ QuickMagick supports also ImageList s
176
176
  i.draw_text(30, 30, "Hello world!", :rotate=>45)
177
177
  i.save 'hello.jpg'
178
178
 
179
+ ... you can then convert it to blob using
180
+ i.to_blob
181
+
179
182
  For more information on drawing API visit:
180
183
  http://www.imagemagick.org/Usage/draw/
181
184
 
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('quick_magick', '0.5.4') do |p|
5
+ Echoe.new('quick_magick', '0.6.0') do |p|
6
6
  p.description = "QuickMagick allows you to access ImageMagick command line functions using Ruby interface."
7
7
  p.url = "http://quickmagick.rubyforge.org/"
8
8
  p.author = "Ahmed ElDawy"
data/lib/quick_magick.rb CHANGED
@@ -56,7 +56,7 @@ module QuickMagick
56
56
  vertical verticalbricks verticalleftshingle verticalrightshingle verticalsaw}
57
57
 
58
58
 
59
- class <<self
59
+ class << self
60
60
  # Generate a random string of specified length.
61
61
  # Used to generate random names for temp files
62
62
  def random_string(length=10)
@@ -3,7 +3,7 @@ require "tempfile"
3
3
  module QuickMagick
4
4
 
5
5
  class Image
6
- class <<self
6
+ class << self
7
7
 
8
8
  # create an array of images from the given blob data
9
9
  def from_blob(blob, &proc)
@@ -392,6 +392,24 @@ module QuickMagick
392
392
 
393
393
  alias write! save!
394
394
  alias mogrify! save!
395
+
396
+ def to_blob
397
+ tmp_file = Tempfile.new(QuickMagick::random_string)
398
+ if command_line =~ /-format\s(\S+)\s/
399
+ # use format set up by user
400
+ blob_format = $1
401
+ elsif !@pseudo_image
402
+ # use original image format
403
+ blob_format = self.format
404
+ else
405
+ # default format is jpg
406
+ blob_format = 'jpg'
407
+ end
408
+ save "#{blob_format}:#{tmp_file.path}"
409
+ blob = nil
410
+ File.open(tmp_file.path, 'rb') { |f| blob = f.read}
411
+ blob
412
+ end
395
413
 
396
414
  # image file format
397
415
  def format
data/quick_magick.gemspec CHANGED
@@ -2,27 +2,26 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{quick_magick}
5
- s.version = "0.5.4"
5
+ s.version = "0.6.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Ahmed ElDawy"]
9
- s.date = %q{2009-08-26}
9
+ s.date = %q{2009-09-16}
10
10
  s.description = %q{QuickMagick allows you to access ImageMagick command line functions using Ruby interface.}
11
11
  s.email = %q{ahmed.eldawy@badrit.com}
12
12
  s.extra_rdoc_files = ["README", "lib/quick_magick/image.rb", "lib/quick_magick/image_list.rb", "lib/quick_magick.rb"]
13
13
  s.files = ["README", "Rakefile", "lib/quick_magick/image.rb", "lib/quick_magick/image_list.rb", "lib/quick_magick.rb", "Manifest", "quick_magick.gemspec", "test/image_test.rb", "test/badfile.xxx", "test/multipage.tif", "test/image_list_test.rb", "test/test_magick.rb", "test/9.gif"]
14
- s.has_rdoc = true
15
14
  s.homepage = %q{http://quickmagick.rubyforge.org/}
16
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Quick_magick", "--main", "README"]
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Quick_magick", "--main", "README~"]
17
16
  s.require_paths = ["lib"]
18
17
  s.rubyforge_project = %q{quickmagick}
19
- s.rubygems_version = %q{1.3.1}
18
+ s.rubygems_version = %q{1.3.5}
20
19
  s.summary = %q{QuickMagick allows you to access ImageMagick command line functions using Ruby interface.}
21
20
  s.test_files = ["test/image_test.rb", "test/image_list_test.rb", "test/test_magick.rb"]
22
21
 
23
22
  if s.respond_to? :specification_version then
24
23
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
- s.specification_version = 2
24
+ s.specification_version = 3
26
25
 
27
26
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
28
27
  else
data/test/image_test.rb CHANGED
@@ -228,6 +228,34 @@ class ImageTest < Test::Unit::TestCase
228
228
  File.delete(out_filename) if out_filename && File.exists?(out_filename)
229
229
  end
230
230
 
231
+ def test_to_blob_default_format
232
+ i = QuickMagick::Image.solid(100, 100)
233
+ i.draw_line(0,0,20,20)
234
+ i.draw_circle(30,30,20,20)
235
+ blob = i.to_blob
236
+ i2 = QuickMagick::Image.from_blob(blob).first
237
+ assert_equal 100, i2.width
238
+ assert_equal 100, i2.height
239
+ assert_equal 'JPEG', i2.format
240
+ end
241
+
242
+ def test_to_blob_with_custom_format
243
+ i = QuickMagick::Image.solid(100, 100)
244
+ i.draw_line(0,0,20,20)
245
+ i.draw_circle(30,30,20,20)
246
+ i.format = 'gif'
247
+ blob = i.to_blob
248
+ i2 = QuickMagick::Image.from_blob(blob).first
249
+ assert_equal 'GIF', i2.format
250
+ end
251
+
252
+ def test_to_blob_with_original_format
253
+ i = QuickMagick::Image.read(@logo_filename).first
254
+ blob = i.to_blob
255
+ i2 = QuickMagick::Image.from_blob(blob).first
256
+ assert_equal 'PNG', i2.format
257
+ end
258
+
231
259
  def test_colors
232
260
  assert_equal "#00ff00ff", QuickMagick::rgb_color(0, 255, 0)
233
261
  assert_equal "#00007fff", QuickMagick::rgb_color(0, 0, 0.5)
@@ -252,6 +280,8 @@ class ImageTest < Test::Unit::TestCase
252
280
  i2 = QuickMagick::Image.read(out_filename).first
253
281
  assert_equal 640, i2.width
254
282
  assert_equal 480, i2.height
283
+ ensure
284
+ File.delete out_filename if File.exists?(out_filename)
255
285
  end
256
286
 
257
287
  def test_image_converted_from_pseudo_to_normal
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quick_magick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahmed ElDawy
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-26 00:00:00 +03:00
12
+ date: 2009-09-16 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -40,6 +40,8 @@ files:
40
40
  - test/9.gif
41
41
  has_rdoc: true
42
42
  homepage: http://quickmagick.rubyforge.org/
43
+ licenses: []
44
+
43
45
  post_install_message:
44
46
  rdoc_options:
45
47
  - --line-numbers
@@ -47,7 +49,7 @@ rdoc_options:
47
49
  - --title
48
50
  - Quick_magick
49
51
  - --main
50
- - README
52
+ - README~
51
53
  require_paths:
52
54
  - lib
53
55
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -65,9 +67,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
67
  requirements: []
66
68
 
67
69
  rubyforge_project: quickmagick
68
- rubygems_version: 1.3.1
70
+ rubygems_version: 1.3.5
69
71
  signing_key:
70
- specification_version: 2
72
+ specification_version: 3
71
73
  summary: QuickMagick allows you to access ImageMagick command line functions using Ruby interface.
72
74
  test_files:
73
75
  - test/image_test.rb