csvpack

csvpack library / gem - tools 'n' scripts for working with tabular data packages using comma-separated values (CSV) datafiles in text with meta info (that is, schema, datatypes, ..) in datapackage.json; download, read into and query CSV datafiles with your SQL database (e.g. SQLite, PostgreSQL, ...) of choice and much more

73
4
Ruby

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.