Home

Awesome

artbase - zero-config web server / services; (auto-)downloads & serves pre-configured pixel art collections "out-of-the-box"; incl. 2x/4x/8x zoom for bigger image sizes and more; binaries for easy "xcopy" installation for windows, linux & friends

Download Binaries For Easy "Xcopy" Installation

Find the archives to download - about 3 Megabytes (MB) - for Windows, Linux and Friends at the Releases Page ».

Unpack the archive (e.g. artbase-*.tar.gz or artbase-*.zip) and than start / run the binary:

$ artbased

This will start-up a (web) server (listening on port 8080). To test open up http://localhost:8080 in your browser (to get the index web page listing all collections).

Build & Run From Source

Use / issue / type (in the /artbase.server directory):

$ go build artbased.go

to get a zero-config x-copy binary for your operation system / architecture. To run use:

$ artbased

This will start-up a (web) server (listening on port 8080). To test open up http://localhost:8080 in your browser (to get the index web page listing all collections).

Artbase - The Server Edition

The artbase (web) server will (auto-)download on demand the first-time only pre-configured pixel art collections (using all-in-one image composites) to your working directory and use the "cached" version from the next time on (incl. server restarts).

The pixel art collections pre-configured¹ include:

¹: see collections.csv

Note: You can use your own collections - use the -c/--config flag and pass along a file path or a web url to the collection dataset in the comma-separated values (.csv) format e.g. $ artbased --config ./collections.csv.

(Web) Services

To get pixel art images, use /:name/:id[.png|.svg].

Let's try the (default) binary raster graphics format using the portable network graphics (.png) encoding. Example:

/punks/0, /punks/1, /punks/2, (same as /punks/0.png, /punks/1.png, /punks/2.png) ...

or /coolcats/0, /coolcats/1, /coolcats/2, (same as /coolcats/0.png, /coolcats/1.png, /coolcats/2.png) ...

Let's try the scalable vector graphics (.svg) format in text. Example:

/punks/0.svg, /punks/1.svg, /punks/2.svg, ...

or /coolcats/0.svg, /coolcats/1.svg, /coolcats/2.svg, ...

Note: Pixels get "encoded" as rectangle "shapes" with a width and height of one (1×1). Transparent pixels with the red/green/blue/alpha (rgba) value of (0 or 0/0/0/0) get dropped.

z (zoom) Parameter - 2x, 4x, 8x, 10x, 20x ... (.png only)

Note: The default image size is the default (minimum) pixel size of the collection e.g. 24x24 for punks, morepunks, coolcats and so on. Use the z (zoom) parameter to upsize.

Let's try 2x:

/punks/0?z=2, /punks/1?z=2, /punks/2?z=2, ...

or /coolcats/0?z=2, /coolcats/1?z=2, /coolcats/2?z=2, ...

Let's try 8x:

/punks/0?z=8, /punks/1?z=8, /punks/2?z=8, ...

or /coolcats/0?z=8, /coolcats/1?z=8, /coolcats/2?z=8, ... And so on.

bg (background) Parameter (.png only)

Let's try adding the classic gray-ish/blue-ish v2 background in red/green/blue (rgb) hexcode #638596. Use the bg (background) parameter:

/punks/0?bg=638596, /punks/1?bg=638596, /punks/2?bg=638596, ...

Let's try adding the baby blue-ish v3 background in red/green/blue (rgb) hexcode #60a4f7:

/punks/0?bg=60a4f7, /punks/1?bg=60a4f7, /punks/2?bg=60a4f7, ...

silhouette Parameter (.png only)

Let's try a black silhouette. Use the silhouette parameter:

/punks/0?silhouette=black, /punks/1?silhouette=black, /punks/2?silhouette=black, ...

Bonus - Glory to Ukraine! Fuck (Vladimir) Putin! Stop the War! - Send A Stop The War Message To The World With Your Profile Picture

Let's try two-colored with the background in blue and the silhouette (foreground) in yellow:

/punks/0?bg=ukraineblue&silhouette=ukraineyellow, /punks/1?bg=ukraineblue&silhouette=ukraineyellow, /punks/2?bg=ukraineblue&silhouette=ukraineyellow, ...

Let's try the ukraine flag in the background:

/punks/0?flag=ukraine, /punks/1?flag=ukraine, /punks/2?flag=ukraine, ...

Bonus - Philip! Phree the Phunks!

Let's try to flip vertically, that is, mirror, the images - that turns right-looking images into left-looking and vice versa. Use the m (mirror) parameter:

/punks/0?m=t, /punks/1?m=t, /punks/2?m=t, ...

That's it for now.

License

The artbase sources & binaries are dedicated to the public domain. Use it as you please with no restrictions whatsoever.

Questions? Comments?

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