android_img_resizer 0.9.1 → 1.0.0
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.
- checksums.yaml +7 -0
- data/bin/android_img_resizer +18 -14
- data/lib/android_img_resizer/android_img_resizer.rb +98 -61
- data/lib/android_img_resizer/version.rb +1 -1
- metadata +34 -56
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e63ec8ac2797a1b11cf1da5bee4bc85841224655
|
4
|
+
data.tar.gz: 4aebe44e3140ee10156c442d559ae910447dc99c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 76af449ee056eaf6f90a2c2ec28af82855e782c5b1e8c0963abc4710b485a7aa5189062c86323d92d99e86cc96f41c69390023421602b930d41aec668faf58ee
|
7
|
+
data.tar.gz: 3d46d66cad9921e4bb3b38eb3863765f0155a5bfa7a73c954c13018ecd96dd8fbc86250ee673d7756c5d42aa5bd12b07a73b46706e5f30048ef4b304e77f3ff0
|
data/bin/android_img_resizer
CHANGED
@@ -1,39 +1,43 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
2
|
require 'android_img_resizer'
|
3
|
+
|
4
|
+
DPI_SUPPORTED = ["xxxhdpi","xxhdpi","xhdpi","hdpi"]
|
5
|
+
|
4
6
|
puts "----------------------------------------------------------------------"
|
5
7
|
puts "Android Resource Image Resizer "+AndroidImgResizer::VERSION
|
6
8
|
puts "----------------------------------------------------------------------"
|
9
|
+
|
7
10
|
def print_sintax()
|
8
11
|
puts "In the Android Project directory (PATH that has a AndroidManifest.xml) file please type: \n\n"
|
9
|
-
puts "android_img_resizer list
|
10
|
-
puts "android_img_resizer img <image_filename>
|
11
|
-
puts "android_img_resizer all
|
12
|
-
puts "
|
12
|
+
puts "android_img_resizer list <baseline_dpi>: To list Resource Image Files \n\n"
|
13
|
+
puts "android_img_resizer img <image_filename> <baseline_dpi> : To Resize a Resource Image File : \n\n"
|
14
|
+
puts "android_img_resizer all <baseline_dpi> : To Resize all Resource Image files : \n\n"
|
15
|
+
puts "baseline_dpi := [xxxhdpi|xxhdpi|xhdpi|hdpi]\n\n"
|
16
|
+
puts "Note: by default Android Image resizer will use xxhdpi as baseline image file \n\n"
|
13
17
|
end
|
14
18
|
|
15
19
|
if ARGV[0] == "list"
|
16
|
-
if ARGV[1]
|
17
|
-
AndroidImgResizer
|
20
|
+
if DPI_SUPPORTED.include? ARGV[1]
|
21
|
+
AndroidImgResizer.list_images(ARGV[1])
|
18
22
|
else
|
19
|
-
AndroidImgResizer
|
23
|
+
AndroidImgResizer.list_images
|
20
24
|
end
|
21
25
|
|
22
26
|
elsif ARGV[0] == "img"
|
23
27
|
if ARGV[1] != ""
|
24
|
-
if ARGV[2]
|
25
|
-
AndroidImgResizer
|
28
|
+
if DPI_SUPPORTED.include?(ARGV[2])
|
29
|
+
AndroidImgResizer.resize_image(ARGV[1],ARGV[2])
|
26
30
|
else
|
27
|
-
AndroidImgResizer
|
31
|
+
AndroidImgResizer.resize_image(ARGV[1])
|
28
32
|
end
|
29
33
|
else
|
30
34
|
print_sintax()
|
31
35
|
end
|
32
36
|
elsif ARGV[0] == "all"
|
33
|
-
if ARGV[1]
|
34
|
-
AndroidImgResizer
|
37
|
+
if DPI_SUPPORTED.include?(ARGV[1])
|
38
|
+
AndroidImgResizer.resize_all_images(ARGV[1])
|
35
39
|
else
|
36
|
-
AndroidImgResizer
|
40
|
+
AndroidImgResizer.resize_all_images
|
37
41
|
end
|
38
42
|
else
|
39
43
|
print_sintax()
|
@@ -2,103 +2,140 @@ require 'rubygems'
|
|
2
2
|
require 'RMagick'
|
3
3
|
|
4
4
|
module AndroidImgResizer
|
5
|
-
|
6
|
-
class AndroidImgResizer
|
7
5
|
|
8
|
-
def
|
6
|
+
def self.verify_android_project
|
9
7
|
files=["AndroidManifest.xml"]
|
10
|
-
directories=["res","res/drawable-hdpi","res/drawable-
|
8
|
+
directories=["res","res/drawable-hdpi","res/drawable-xhdpi","res/drawable-mdpi","src"]
|
11
9
|
|
12
10
|
files.each do |file|
|
13
11
|
if !File::exists?(file)
|
14
|
-
puts "Error: This is not a Android project Directory"
|
15
|
-
puts "Error: File not exists"
|
12
|
+
puts "Error: This is not a Android project Directory\n"
|
13
|
+
puts "Error: File not exists #{file} \n"
|
16
14
|
return false
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
20
18
|
directories.each do |directory|
|
21
19
|
if !File::directory?(directory)
|
22
|
-
puts "Error: This is not a Android project Directory"
|
23
|
-
puts "Error: Directory not exists"
|
20
|
+
puts "Error: This is not a Android project Directory\n"
|
21
|
+
puts "Error: Directory not exists #{directory} \n"
|
24
22
|
return false
|
25
23
|
end
|
26
|
-
|
27
24
|
end
|
28
25
|
return true
|
29
26
|
end
|
30
27
|
|
31
|
-
def
|
28
|
+
def self.list_images(base_dpi="xxhdpi")
|
32
29
|
return if !self.verify_android_project
|
33
|
-
Dir::chdir("res/drawable-"+
|
30
|
+
Dir::chdir("res/drawable-"+base_dpi+"/")
|
34
31
|
files=Dir["*.{png,jpg,gif,bitmap}"]
|
35
32
|
files.each do |entry|
|
36
33
|
puts "Drawable File = #{entry}"
|
37
34
|
end
|
38
35
|
end
|
39
36
|
|
40
|
-
def
|
37
|
+
def self.resize_all_images(base_dpi="xxhdpi")
|
41
38
|
return if !self.verify_android_project
|
42
|
-
|
39
|
+
|
40
|
+
baseline_path = "res/drawable-"+base_dpi+"/"
|
41
|
+
if !File::exists?(baseline_path)
|
42
|
+
puts "Baseline path #{baseline_path} doesnt exist"
|
43
|
+
exit(1)
|
44
|
+
end
|
45
|
+
|
46
|
+
Dir::chdir(baseline_path)
|
43
47
|
files=Dir["*.{png,jpg,gif,bitmap}"]
|
44
48
|
Dir::chdir("../../")
|
45
49
|
files.each do |entry|
|
46
|
-
resize_image(entry,
|
50
|
+
resize_image(entry,base_dpi)
|
47
51
|
end
|
48
52
|
end
|
49
53
|
|
50
|
-
def
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
# 150% Resizing
|
58
|
-
xsize=(img.columns*1.5)/2
|
59
|
-
ysize=(img.rows*1.5)/2
|
60
|
-
puts "Image = #{image} hdpi = #{xsize.to_i}x#{ysize.to_i}"
|
61
|
-
hdpi = img.scale(xsize.to_i,ysize.to_i)
|
62
|
-
hdpi.write "res/drawable-hdpi/"+image
|
63
|
-
# 100% Resizing
|
64
|
-
xsize=(img.columns)/2
|
65
|
-
ysize=(img.rows)/2
|
66
|
-
puts "Image = #{image} mdpi = #{xsize.to_i}x#{ysize.to_i}"
|
67
|
-
mdpi = img.scale(xsize.to_i,ysize.to_i)
|
68
|
-
mdpi.write "res/drawable-mdpi/"+image
|
54
|
+
def self.scale(imageFile,rimg,factor,tag)
|
55
|
+
xsize=rimg.columns*factor
|
56
|
+
ysize=rimg.rows*factor
|
57
|
+
puts "Image = #{imageFile} #{tag} = #{xsize.to_i}x#{ysize.to_i}"
|
58
|
+
hdpi = rimg.scale(xsize.to_i,ysize.to_i)
|
59
|
+
hdpi.write "res/drawable-#{tag}/"+imageFile
|
60
|
+
end
|
69
61
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
# Base Image file is in xdpi directory
|
80
|
-
#150% -> 100%
|
81
|
-
xsize=(img.columns)/1.5
|
82
|
-
ysize=(img.rows)/1.5
|
83
|
-
puts "Image = #{image} mdpi = #{xsize.to_i}x#{ysize.to_i}"
|
84
|
-
mdpi = img.scale(xsize.to_i,ysize.to_i)
|
85
|
-
mdpi.write "res/drawable-mdpi/"+image
|
62
|
+
def self.resize_image(imageFile,base_dpi="xxhdpi")
|
63
|
+
return if !self.verify_android_project
|
64
|
+
|
65
|
+
full_path = "res/drawable-#{base_dpi}/#{imageFile}"
|
66
|
+
|
67
|
+
if !File::exists?(full_path)
|
68
|
+
puts "Image #{full_path} doesnt exist"
|
69
|
+
exit(1)
|
70
|
+
end
|
86
71
|
|
87
|
-
|
88
|
-
|
89
|
-
ysize=(img.rows)/2
|
90
|
-
puts "Image = #{image} ldpi = #{xsize.to_i}x#{ysize.to_i}"
|
91
|
-
dpi = img.scale(xsize.to_i,ysize.to_i)
|
92
|
-
dpi.write "res/drawable-ldpi/"+image
|
93
|
-
end
|
72
|
+
rimg = Magick::Image.read(full_path).first
|
73
|
+
puts "Resizing Image = #{imageFile} with size = #{rimg.columns}x#{rimg.rows} from #{base_dpi}"
|
94
74
|
|
75
|
+
# Scale Down images in res/drawable-xxxhdpi to the lower dpis
|
76
|
+
if base_dpi == 'xxxhdpi'
|
77
|
+
self.scale_xxxhdpi(imageFile,rimg)
|
78
|
+
# Scale Down images in res/drawable-xxhdpi to the lower dpis
|
79
|
+
elsif base_dpi == 'xxhdpi'
|
80
|
+
self.scale_xxhdpi(imageFile,rimg)
|
81
|
+
# Scale Down images in res/drawable-xhdpi to the lower dpis
|
82
|
+
elsif base_dpi == 'xhdpi'
|
83
|
+
self.scale_xhdpi(imageFile,rimg)
|
84
|
+
# Scale Down images in res/drawable-hdpi to the lower dpis
|
85
|
+
else
|
86
|
+
self.scale_hdpi(imageFile,rimg)
|
87
|
+
end
|
95
88
|
|
96
89
|
end
|
97
90
|
|
98
|
-
def
|
99
|
-
|
100
|
-
|
101
|
-
|
91
|
+
def self.scale_xxxhdpi(imageFile,rimg)
|
92
|
+
# xxdpi version 3/4 - 3.0x mdpi
|
93
|
+
self.scale(imageFile,rimg,0.75,"xxhdpi")
|
94
|
+
# xxdpi version 2/4 - 2.0x mdpi
|
95
|
+
self.scale(imageFile,rimg,0.5,"xhdpi")
|
96
|
+
# xxdpi version 1.5/4 - 1.5x mdpi
|
97
|
+
self.scale(imageFile,rimg,0.375,"hdpi")
|
98
|
+
# xxdpi version 1/4 - 1.0x mdpi
|
99
|
+
self.scale(imageFile,rimg,0.25,"mdpi")
|
102
100
|
end
|
103
|
-
|
101
|
+
|
102
|
+
def self.scale_xxhdpi(imageFile,rimg)
|
103
|
+
# xdpi version 2/3 - 2.0x mdpi
|
104
|
+
self.scale(imageFile,rimg,2.0/3,"xhdpi")
|
105
|
+
# hdpi version 0.5 - 1.5x mdpi
|
106
|
+
self.scale(imageFile,rimg,0.5,"hdpi")
|
107
|
+
# hdpi version 1/3 - 1.0x mdpi
|
108
|
+
self.scale(imageFile,rimg,1.0/3,"mdpi")
|
109
|
+
end
|
110
|
+
|
111
|
+
def self.scale_xhdpi(imageFile,rimg)
|
112
|
+
# xdpi version 0.75 - 1.5x mdpi
|
113
|
+
self.scale(imageFile,rimg,0.75,"hdpi")
|
114
|
+
# xdpi version 0.5 - 1.0x mdpi
|
115
|
+
self.scale(imageFile,rimg,0.5,"mdpi")
|
116
|
+
end
|
117
|
+
|
118
|
+
def self.scale_hdpi(imageFile,rimg)
|
119
|
+
# xdpi version 2/3 - 1.5x mdpi
|
120
|
+
self.scale(imageFile,rimg,2.0/3,"mdpi")
|
121
|
+
end
|
122
|
+
|
123
|
+
def self.clean_files(imgtoclean)
|
124
|
+
if File::exists?("res/drawable-xxhdpi/"+imgtoclean)
|
125
|
+
File.delete("res/drawable-xxhdpi/"+imgtoclean)
|
126
|
+
end
|
127
|
+
if File::exists?("res/drawable-xhdpi/"+imgtoclean)
|
128
|
+
File.delete("res/drawable-xhdpi/"+imgtoclean)
|
129
|
+
end
|
130
|
+
if File::exists?("res/drawable-hdpi/"+imgtoclean)
|
131
|
+
File.delete("res/drawable-hdpi/"+imgtoclean)
|
132
|
+
end
|
133
|
+
if File::exists?("res/drawable-mdpi/"+imgtoclean)
|
134
|
+
File.delete("res/drawable-mdpi/"+imgtoclean)
|
135
|
+
end
|
136
|
+
if File::exists?("res/drawable-ldpi/"+imgtoclean)
|
137
|
+
File.delete("res/drawable-ldpi/"+imgtoclean)
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
104
141
|
end
|
metadata
CHANGED
@@ -1,84 +1,62 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: android_img_resizer
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 9
|
9
|
-
- 1
|
10
|
-
version: 0.9.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
13
|
-
-
|
6
|
+
authors:
|
7
|
+
- Hélder Vasconcels
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-01-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: rmagick
|
22
|
-
|
23
|
-
|
24
|
-
none: false
|
25
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
26
17
|
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 57
|
29
|
-
segments:
|
30
|
-
- 2
|
31
|
-
- 13
|
32
|
-
- 1
|
18
|
+
- !ruby/object:Gem::Version
|
33
19
|
version: 2.13.1
|
34
20
|
type: :runtime
|
35
|
-
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.13.1
|
36
27
|
description: Tool to resize Android Resource images
|
37
|
-
email:
|
28
|
+
email:
|
38
29
|
- heldervasc@bearstouch.com
|
39
|
-
executables:
|
30
|
+
executables:
|
40
31
|
- android_img_resizer
|
41
32
|
extensions: []
|
42
|
-
|
43
33
|
extra_rdoc_files: []
|
44
|
-
|
45
|
-
files:
|
34
|
+
files:
|
46
35
|
- lib/android_img_resizer.rb
|
47
36
|
- lib/android_img_resizer/version.rb
|
48
37
|
- lib/android_img_resizer/android_img_resizer.rb
|
49
38
|
- bin/android_img_resizer
|
50
39
|
homepage: http://www.bearstouch.com
|
51
40
|
licenses: []
|
52
|
-
|
41
|
+
metadata: {}
|
53
42
|
post_install_message:
|
54
43
|
rdoc_options: []
|
55
|
-
|
56
|
-
require_paths:
|
44
|
+
require_paths:
|
57
45
|
- lib
|
58
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
none: false
|
69
|
-
requirements:
|
70
|
-
- - ">="
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
hash: 3
|
73
|
-
segments:
|
74
|
-
- 0
|
75
|
-
version: "0"
|
46
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - '>='
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0'
|
51
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
76
56
|
requirements: []
|
77
|
-
|
78
57
|
rubyforge_project: android_img_resizer
|
79
|
-
rubygems_version:
|
58
|
+
rubygems_version: 2.0.3
|
80
59
|
signing_key:
|
81
|
-
specification_version:
|
60
|
+
specification_version: 4
|
82
61
|
summary: Tool to resize Android Resource images
|
83
62
|
test_files: []
|
84
|
-
|