Sha256: d489eef4d4e6a958ed902ceb302109fc5850c3eabd91fa1f032fd743534980f5
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
require 'phantom_svg' require_relative 'preprocessor' module Emojidex # Converter utility for emojidex class Converter def self.default_sizes { ldpi: 9, mdpi: 18, hdpi: 27, xhdpi: 36, px8: 8, px16: 16, px32: 32, px64: 64, px128: 128, px256: 256 } end attr_accessor :sizes, :destination def initialize(override = {}) @sizes = override[:sizes] || Converter.default_sizes @destination = File.expand_path(override[:destination] || ENV['EMOJI_CACHE'] || './') @noisy = override[:noisy] || :false end def rasterize(emoji, source_dir) emoji.each do |moji| phantom_svg = Phantom::SVG::Base.new("#{source_dir}/#{moji.code}.svg") @sizes.each do |key, val| # Create out directory. out_dir = "#{@destination}/#{key}" FileUtils.mkdir_p(out_dir) # Set size. phantom_svg.width = phantom_svg.height = val.to_i # Output png. puts "Converting: #{out_dir}/#{moji.code}.png" if @noisy phantom_svg.save_apng("#{out_dir}/#{moji.code}.png") end end end def rasterize_collection(collection) rasterize(collection.emoji.values, collection.source_path) collection.cache_index @destination end def preprocess(path) preprocessor = Emojidex::Preprocessor.new preprocessor.compile_svg_animations(path) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
emojidex-converter-0.0.4 | lib/emojidex/converter.rb |