class XcodeAssetsGen::IconGen
Attributes
assets_path[RW]
icon_set_list[RW]
o_icon_path[RW]
Public Instance Methods
gen_icon_set(icon_set, icon_save_path, icon_path)
click to toggle source
# File lib/xcode_assets_gen/icon_gen.rb, line 57 def gen_icon_set icon_set, icon_save_path, icon_path images = [] icon_set["icons"].each { |icon| image = MiniMagick::Image.open(icon_path) size = get_icon_size icon image.resize "#{size}x#{size}" image.format "png" icon_filename = "icon#{size}x#{size}.png" image.write File.join(icon_save_path, icon_filename) puts Rainbow("Generate #{icon_filename}").green icon['idiom'] = icon_set["idiom"] icon['filename'] = "icon#{size}x#{size}.png" images.push(icon) } # return content file json return images end
gen_icons(icon_set_list, assets_path, icon_path)
click to toggle source
icon_set_list
is a list of icon set to generate, example: ['ipad-ios7+', 'iphone-ios7+']
# File lib/xcode_assets_gen/icon_gen.rb, line 22 def gen_icons icon_set_list, assets_path, icon_path config = load_config icon_save_path = File.join(assets_path, 'AppIcon.appiconset') FileUtils::mkdir_p icon_save_path puts Rainbow("Start generate icons").bright images = [] icon_set_list.each { |icon_set| puts Rainbow("Icon set #{icon_set}").cyan sets = get_config_by_name(config, icon_set) if sets != nil images += gen_icon_set(sets, icon_save_path, icon_path) else puts Rainbow("Error: No #{icon_set}").red end } content = { "images": images, "info": { "version": 1, "author": "xcode" } } File.open(File.join(icon_save_path, "Contents.json"), "w") do |f| f.write(content.to_json) end puts Rainbow("Finish generate icons").green end
get_config_by_name(config, name)
click to toggle source
# File lib/xcode_assets_gen/icon_gen.rb, line 16 def get_config_by_name config, name config.detect { |config| config["name"] == name } end
get_icon_size(icon)
click to toggle source
# File lib/xcode_assets_gen/icon_gen.rb, line 51 def get_icon_size icon size = icon["size"].split('x').first.to_f scale = icon["scale"].split('x').first.to_f (size * scale).to_i end
load_config()
click to toggle source
# File lib/xcode_assets_gen/icon_gen.rb, line 12 def load_config return YAML.load_file(File.expand_path('../icons_size.yml', __FILE__)) end