imogen 0.0.4 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/imogen/auto_crop/box.rb +15 -2
- data/lib/imogen/auto_crop/edges.rb +4 -0
- data/lib/imogen/zoomable.rb +0 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MGE0NjZkODZkZGE5MzQzMjZlMDkxMTE0NWY4NjEzMmZlMjMzMTQwNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDdkYTJjMThhMzEzNDQ3MDVlZGNhMjliYzBmM2E2YTczYWJhMzcwMA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OGQ4ZmUyNWE4YjFmN2EyMDhlNjVhZWYxMzRlNjFmM2EyNWM3ODdkNTA1ZmZj
|
10
|
+
NzYyNWRiZWEyMjhmY2Y0NGM2MzljMmRjNmEzM2U0ZTc0NmJlYTM2MDQyMmE4
|
11
|
+
OTg1YmQ0NjlhYmUyMDRhY2YzOTg4YjRiOGNjZmU5MDg1MzAxM2E=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTQ3MjUyOGM4YzU0MDQ5YTVjYmYzNzg1NmM4OWMxNzE5OGYwNTk5ZmU3ZDJl
|
14
|
+
ZWEzYWJjMTMwNTFjZWFkMWJlMGFjOWUwZjJkNWIzOGIzMzUyMmVhN2Q0NDQ3
|
15
|
+
YjVkYmRlMGE1ZTI0NTBiNGFlZGVkMzE1YjFmNjE0OGY0Y2Y1MTU=
|
data/lib/imogen/auto_crop/box.rb
CHANGED
@@ -65,15 +65,28 @@ module Imogen::AutoCrop::Box
|
|
65
65
|
class BoxInfo
|
66
66
|
attr_reader :x, :y
|
67
67
|
attr_accessor :radius
|
68
|
+
SQUARISH = 5.to_f / 6
|
68
69
|
def initialize(x,y,r)
|
69
70
|
@x = x
|
70
71
|
@y = y
|
71
72
|
@radius = r
|
72
73
|
end
|
73
74
|
end
|
75
|
+
def self.squarish?(img)
|
76
|
+
if img.is_a? FreeImage::Bitmap
|
77
|
+
dims = [img.width, img.height]
|
78
|
+
ratio = dims.min.to_f / dims.max
|
79
|
+
return ratio >= BoxInfo::SQUARISH
|
80
|
+
elsif img.is_a? OpenCV::CvMat
|
81
|
+
dims = [img.cols, img.rows]
|
82
|
+
ratio = dims.min.to_f / dims.max
|
83
|
+
return ratio >= BoxInfo::SQUARISH
|
84
|
+
else
|
85
|
+
raise "#{img.class.name} is not a FreeImage::Bitmap"
|
86
|
+
end
|
87
|
+
end
|
74
88
|
def self.info(grayscale)
|
75
89
|
dims = [grayscale.cols, grayscale.rows]
|
76
|
-
|
77
|
-
ratio < 0.84 ? Best.new(grayscale).box() : Center.new(grayscale).box()
|
90
|
+
squarish?(grayscale) ? Center.new(grayscale).box() : Best.new(grayscale).box()
|
78
91
|
end
|
79
92
|
end
|
@@ -13,6 +13,10 @@ class Edges
|
|
13
13
|
img = src
|
14
14
|
@xoffset = img.width.to_f/6
|
15
15
|
@yoffset = img.height.to_f/6
|
16
|
+
if Imogen::AutoCrop::Box.squarish? img
|
17
|
+
@xoffset = @xoffset/2
|
18
|
+
@yoffset = @yoffset/2
|
19
|
+
end
|
16
20
|
@tempfile = Tempfile.new(['crop','.png'])
|
17
21
|
|
18
22
|
img.copy(@xoffset,@yoffset,img.width-@xoffset,img.height-@yoffset) do |crop|
|
data/lib/imogen/zoomable.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imogen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Armintor
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-opencv
|