android_img_resizer 0.9.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.
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'android_img_resizer'
|
4
|
+
puts "----------------------------------------------------------------------"
|
5
|
+
puts "Android Resource Image Resizer "+AndroidImgResizer::VERSION
|
6
|
+
puts "----------------------------------------------------------------------"
|
7
|
+
def print_sintax()
|
8
|
+
puts "In the Android Project directory (PATH that has a AndroidManifest.xml) file please type: \n\n"
|
9
|
+
puts "android_img_resizer list [xhdpi|hdpi] : To list Resource Image Files \n\n"
|
10
|
+
puts "android_img_resizer img <image_filename> [xhdpi|hdpi] : To Resize a Resource Image File : \n\n"
|
11
|
+
puts "android_img_resizer all [xhdpi|hdpi] : To Resize all Resource Image files : \n\n"
|
12
|
+
puts "Note: by default Android Image resizer will use xhdpi as base image file \n\n"
|
13
|
+
end
|
14
|
+
|
15
|
+
if ARGV[0] == "list"
|
16
|
+
if ARGV[1]=='hdpi'
|
17
|
+
AndroidImgResizer::AndroidImgResizer.list_images(ARGV[1])
|
18
|
+
else
|
19
|
+
AndroidImgResizer::AndroidImgResizer.list_images
|
20
|
+
end
|
21
|
+
|
22
|
+
elsif ARGV[0] == "img"
|
23
|
+
if ARGV[1] != ""
|
24
|
+
if ARGV[2] == "hdpi"
|
25
|
+
AndroidImgResizer::AndroidImgResizer.resize_image(ARGV[1],ARGV[2])
|
26
|
+
else
|
27
|
+
AndroidImgResizer::AndroidImgResizer.resize_image(ARGV[1])
|
28
|
+
end
|
29
|
+
else
|
30
|
+
print_sintax()
|
31
|
+
end
|
32
|
+
elsif ARGV[0] == "all"
|
33
|
+
if ARGV[1] == "hdpi"
|
34
|
+
AndroidImgResizer::AndroidImgResizer.resize_all_images(ARGV[1])
|
35
|
+
else
|
36
|
+
AndroidImgResizer::AndroidImgResizer.resize_all_images
|
37
|
+
end
|
38
|
+
else
|
39
|
+
print_sintax()
|
40
|
+
end
|
41
|
+
|
42
|
+
puts "Exiting. Thanks"
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'RMagick'
|
3
|
+
|
4
|
+
module AndroidImgResizer
|
5
|
+
|
6
|
+
class AndroidImgResizer
|
7
|
+
|
8
|
+
def AndroidImgResizer.verify_android_project
|
9
|
+
files=["AndroidManifest.xml"]
|
10
|
+
directories=["res","res/drawable-hdpi","res/drawable-mdpi","res/drawable-ldpi","src"]
|
11
|
+
|
12
|
+
files.each do |file|
|
13
|
+
if !File::exists?(file)
|
14
|
+
puts "Error: This is not a Android project Directory"
|
15
|
+
puts "Error: File not exists"+file
|
16
|
+
return false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
directories.each do |directory|
|
21
|
+
if !File::directory?(directory)
|
22
|
+
puts "Error: This is not a Android project Directory"
|
23
|
+
puts "Error: Directory not exists"+directory
|
24
|
+
return false
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
return true
|
29
|
+
end
|
30
|
+
|
31
|
+
def AndroidImgResizer.list_images(from="xhdpi")
|
32
|
+
return if !self.verify_android_project
|
33
|
+
Dir::chdir("res/drawable-"+from+"/")
|
34
|
+
files=Dir["*.{png,jpg,gif,bitmap}"]
|
35
|
+
files.each do |entry|
|
36
|
+
puts "Drawable File = #{entry}"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def AndroidImgResizer.resize_all_images(from="xhdpi")
|
41
|
+
return if !self.verify_android_project
|
42
|
+
Dir::chdir("res/drawable-"+from+"/")
|
43
|
+
files=Dir["*.{png,jpg,gif,bitmap}"]
|
44
|
+
Dir::chdir("../../")
|
45
|
+
files.each do |entry|
|
46
|
+
resize_image(entry,from)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def AndroidImgResizer.resize_image(image,from="xhdpi")
|
51
|
+
return if !self.verify_android_project
|
52
|
+
#clean_files image
|
53
|
+
if from == 'xhdpi'
|
54
|
+
# Base Image file is in xdpi directory
|
55
|
+
img = Magick::Image.read("res/drawable-xhdpi/"+image).first
|
56
|
+
puts "Resizing Image = #{image} with size = #{img.columns}x#{img.rows}"
|
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
|
69
|
+
|
70
|
+
# 75% Resizing
|
71
|
+
xsize=(img.columns*0.75)/2
|
72
|
+
ysize=(img.rows*0.75)/2
|
73
|
+
puts "Image = #{image} ldpi = #{xsize.to_i}x#{ysize.to_i}"
|
74
|
+
dpi = img.scale(xsize.to_i,ysize.to_i)
|
75
|
+
dpi.write "res/drawable-ldpi/"+image
|
76
|
+
else
|
77
|
+
img = Magick::Image.read("res/drawable-hdpi/"+image).first
|
78
|
+
puts "Resizing Image = #{image} with size = #{img.columns}x#{img.rows}"
|
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
|
86
|
+
|
87
|
+
#150% -> 75%
|
88
|
+
xsize=(img.columns)/2
|
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
|
94
|
+
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
def AndroidImgResizer.clean_files(imgtoclean)
|
99
|
+
File.delete("res/drawable-hdpi/"+imgtoclean) if File::exists?("res/drawable-hdpi/"+imgtoclean)
|
100
|
+
File.delete("res/drawable-mdpi/"+imgtoclean) if File::exists?("res/drawable-mdpi/"+imgtoclean)
|
101
|
+
File.delete("res/drawable-ldpi/"+imgtoclean) if File::exists?("res/drawable-ldpi/"+imgtoclean)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
metadata
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: android_img_resizer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 59
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 9
|
9
|
+
- 0
|
10
|
+
version: 0.9.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- "H\xC3\xA9lder Vasconcelos"
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-02-01 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rmagick
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ~>
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 57
|
29
|
+
segments:
|
30
|
+
- 2
|
31
|
+
- 13
|
32
|
+
- 1
|
33
|
+
version: 2.13.1
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
description: Tool to resize Android Resource images
|
37
|
+
email:
|
38
|
+
- heldervasc@bearstouch.com
|
39
|
+
executables:
|
40
|
+
- android_img_resizer
|
41
|
+
extensions: []
|
42
|
+
|
43
|
+
extra_rdoc_files: []
|
44
|
+
|
45
|
+
files:
|
46
|
+
- lib/android_img_resizer.rb
|
47
|
+
- lib/android_img_resizer/version.rb
|
48
|
+
- lib/android_img_resizer/android_img_resizer.rb
|
49
|
+
- bin/android_img_resizer
|
50
|
+
homepage: http://wwww.bearstouch.com
|
51
|
+
licenses: []
|
52
|
+
|
53
|
+
post_install_message:
|
54
|
+
rdoc_options: []
|
55
|
+
|
56
|
+
require_paths:
|
57
|
+
- lib
|
58
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
hash: 3
|
64
|
+
segments:
|
65
|
+
- 0
|
66
|
+
version: "0"
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
73
|
+
segments:
|
74
|
+
- 0
|
75
|
+
version: "0"
|
76
|
+
requirements: []
|
77
|
+
|
78
|
+
rubyforge_project: android_img_resizer
|
79
|
+
rubygems_version: 1.8.11
|
80
|
+
signing_key:
|
81
|
+
specification_version: 3
|
82
|
+
summary: Tool to resize Android Resource images
|
83
|
+
test_files: []
|
84
|
+
|