android_img_resizer 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,3 @@
1
+ module AndroidImgResizer
2
+ VERSION = "0.9.0"
3
+ end
@@ -0,0 +1,2 @@
1
+ require 'android_img_resizer/version'
2
+ require 'android_img_resizer/android_img_resizer'
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
+