Skip to content

Latest commit

 

History

History

artifactory

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Art Factory

Yes, you can! Generate your own art images from text attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more

Usage

Let's try punk doge shiba inus in the 24x24px format.

(Source: config/spritesheet.png)

id, category, name, more_names
0, , classic,
1, , dark,
2, , zombie,
3, , alien,
4, , crazyhair,
5, , beanie,
6, , cap,
7, , capforward,
8, , cowboyhat,
9, , fedora,
...

(Source: config/spritesheet.csv)

Setup Variant 1

require 'artfactory'

# step 1 - setup the art factory;
#    pass-in the spritesheet image & (meta) dataset and
#    the format (e.g. 24x24px)

shiba1 = Artfactory.read( './config/spritesheet.png',
                          './config/spritesheet.csv',
                          width: 24,
                          height: 24)


# step 2 - generate images via text (prompts)

doge = shiba1.generate( 'Classic', '3D Glasses' )
doge.save( './doge1.png' )
doge.zoom(4).save( './[email protected]' )

doge = shiba1.generate( 'Alien', 'Headband' )
doge.save( './doge2.png' )
doge.zoom(4).save( './[email protected]' )

doge = doge.background( 'Matrix 1', 'Rainbow 1' )
doge.save( './doge2b.png' )
doge.zoom(4).save( './[email protected]' )

Resulting in:

4x:

Setup Variant 2

require 'artfactory'

# step 1 - setup the art factory;
#    use an "external" spritesheet configuration

sheet = Pixelart::Spritesheet.read( './config/spritesheet.png',
                                    './config/spritesheet.csv',
                                      width: 24,
                                      height: 24)
shiba2 =  Artfactory.use( sheet )


# step 2 - generate images via text (prompts)

doge = shiba2.generate( 'Classic', '3D Glasses' )
doge.save( './doge1.png' )
doge.zoom(4).save( './[email protected]' )


doge = shiba2.generate( 'Alien', 'Headband' )
doge.save( './doge2.png' )
doge.zoom(4).save( './[email protected]' )

doge = doge.background( 'Matrix 1', 'Rainbow 1' )
doge.save( './doge2b.png' )
doge.zoom(4).save( './[email protected]' )

Questions? Comments?

Post them over at the Help & Support page. Thanks.