laradic / icon-generator
Generate FontAwesome, Foundation Icons or any custom icon font icons to multiple size and color image files like .ico/.png
Requires
- php: >=5.5.9
- laradic/filesystem: ~1.0
Requires (Dev)
- laradic/phing: ~1.0
- laradic/testing: ~1.0
This package is not auto-updated.
Last update: 2024-12-16 15:08:12 UTC
README
Laradic Icon Generator
Laradic Icon Generator can create PNG images from several icon fonts like FontAwesome, Foundation Icons, etc. For example, useful for favicon generation.
This package does not require Laravel but it does provide a ServiceProvider
, Facade
access and a Console
command.
The package follows the FIG standards PSR-1, PSR-2, and PSR-4 to ensure a high level of interoperability between shared PHP code.
Installation
composer require "laradic/icon-generator:~1.0"
Quick Overview
Full documenation @ la.radic.nl
Using the API
The factory is the place where you can register custom fonts. Laradic Icon Generator comes packed with Font Awesome and Foundation Icons.
When the font you want to use has been added to the factory you can create a IconGenerator
for it which is responsible for generating the images.
/** @var \Laradic\IconGenerator\IconGenerator $generator */ $generator = (new \Laradic\IconGenerator\Factory) ->addDefaultFonts() ->createGenerator('font-awesome'); $generator->setIcons('android', 'car') ->setSizes(16, 32, 64, 128) ->addColor('#42A5F5') // blue 400 ->addColor('#424242') // grey 800 ->addColor(251, 94, 11) // RGB Also supported ->setOutDir(__DIR__ . '/generated-icons') ->generate();
There's also a shorthand method available \Laradic\IconGenerator\Factory::generate($font, array $icons, array $sizes, array $colors, $outDir = null)
(new Factory()) ->addDefaultFonts() ->generate($font, array $icons, array $sizes, array $colors, $outDir = null);
Laravel
When using the Laravel Service Provider, the factory is bound as singleton in the container. So the example above can also be written like this.
Binding
$generator = app('laradic.icon-generator') ->addDefaultFonts() ->createGenerator('font-awesome'); // other code remains the same
Facade
Optionally, you could add the facade and use that for accessing the factory.
$generator = IconGenerator::addDefaultFonts()->createGenerator('font-awesome');
Command
Another way to create fonts is using the command.
Usage: laradic:icon:generate [options] [--] <font> [<outDir>] laradic:icon:generate font-awesome ./ -i car -i book -s 16 -s 32 -s 128 -c 424242 -c 42A5F5 Arguments: font The icon font you would like to use outDir Path to the directory the icons should be generated in. [default: "resources/assets/icons"] Options: -i, --icons=ICONS Icons to generate. One or more icon names (multiple values allowed) -s, --sizes=SIZES The sizes to generate. One or more numeric values (multiple values allowed) -c, --colors=COLORS The colors to generate. Either RGB or HEX (multiple values allowed) -l, --list List all available fonts