meme_captain 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -36,13 +36,17 @@ module MemeCaptain
36
36
  line2_caption[0].resize!(line2_caption[0].columns / 2,
37
37
  line2_caption[0].rows / 2, Magick::LanczosFilter, 1.25)
38
38
 
39
- img.each do |frame|
40
- frame.composite!(line1_caption[0], Magick::NorthGravity,
41
- Magick::OverCompositeOp)
39
+ text_layer = Magick::Image.new(img[0].columns, img[0].rows) {
40
+ self.background_color = 'none'
41
+ }
42
+ text_layer.composite!(line1_caption[0], Magick::NorthGravity,
43
+ Magick::OverCompositeOp)
44
+ text_layer.composite!(line2_caption[0], Magick::SouthGravity,
45
+ Magick::OverCompositeOp)
42
46
 
43
- frame.composite!(line2_caption[0], Magick::SouthGravity,
47
+ img.each do |frame|
48
+ frame.composite!(text_layer, -frame.page.x, -frame.page.y,
44
49
  Magick::OverCompositeOp)
45
-
46
50
  frame.strip!
47
51
  end
48
52
  img
@@ -1,4 +1,5 @@
1
1
  require 'digest/sha1'
2
+ require 'uri'
2
3
 
3
4
  require 'curb'
4
5
  require 'sinatra/base'
@@ -12,10 +13,10 @@ module MemeCaptain
12
13
  ImageExts = %w{.jpeg .gif .png}
13
14
 
14
15
  get '/' do
15
- @img_tag = if params[:u]
16
- "<img src=\"#{h request.fullpath.sub(%r{^/}, '/i')}\" />"
17
- else
18
- ''
16
+ @img_url = if params[:u]
17
+ uri = URI(request.url)
18
+ uri.path += 'i'
19
+ uri.to_s
19
20
  end
20
21
 
21
22
  @u = params[:u]
@@ -37,8 +38,15 @@ module MemeCaptain
37
38
  Curl::Easy.perform(params[:u]).body_str
38
39
  }
39
40
 
40
- MemeCaptain.meme(source_img_data, params[:tt], params[:tb]).to_blob {
41
+ meme_img = MemeCaptain.meme(source_img_data, params[:tt], params[:tb])
42
+ current_format = meme_img.format
43
+
44
+ meme_img.to_blob {
41
45
  self.quality = 100
46
+ # convert non-animated gifs to png
47
+ if current_format == 'GIF' and meme_img.size == 1
48
+ self.format = 'PNG'
49
+ end
42
50
  }
43
51
  }
44
52
 
data/meme_captain.gemspec CHANGED
@@ -4,7 +4,7 @@ $:.unshift(File.join(File.dirname(__FILE__), 'lib'))
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'meme_captain'
7
- s.version = '0.0.3'
7
+ s.version = '0.0.4'
8
8
  s.summary = 'create meme images'
9
9
  s.description = s.summary
10
10
  s.homepage = 'https://github.com/mmb/meme_captain'
data/views/index.erb CHANGED
@@ -12,7 +12,10 @@
12
12
 
13
13
  <p>Add text to images from the internet.</p>
14
14
 
15
- <%= @img_tag %>
15
+ <% if @img_url %>
16
+ <p><a href="<%= h @img_url %>"><img src="<%= h @img_url %>" /></a></p>
17
+ <p><a href="<%= h @img_url %>"><%= h @img_url %></a></p>
18
+ <% end %>
16
19
 
17
20
  <form action="" method="get">
18
21
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meme_captain
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matthew M. Boedicker
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-22 00:00:00 -04:00
18
+ date: 2011-04-28 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency