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
@@ -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
+