Jenn Schiffer engineer, artist, lasagna, writer

pxon ie. "pixel art object notation"

abstract

PXON (pronounced like "picks on" as in "I hate it that Jenn always 'picks on' me."1) is a proposed standard, which no one needs or even asked for, of the representation of pixel art using JSON and properties of the Exif RDF schema. It provides the means for both lightweight data-interchange and the object-oriented creation of pixel art.

structure

It's just JSON. But there are two objects, exif and pxif. exif has any properties defined by the Exif RDF schema (mention and link in the abstract). For the sake of creating pixel art, many of these properties are not necessary or even applicable. They have been narrowed down to:

pxif is the pixel art spin of exif, in essense it is unique to pixel art and breaks down the image beyond its typical metadata and focuses on the individual strokes and drawings of the pixels within the image. The first property, pixels is an array of "pixel" objects representing the pixels drawn in the image. Because it is a new idea in this format, the list of properties is fluid and ever changing at the moment. They are:

A dataURL property has a string value of the dataURL of the canvas the pixel art had when pxon is exported. This may be helpful for drawing the inital image on pxon import but it may be best to just redraw each pixel in the pixels array. Until the apps using pxon are refined, it's best to keep this property here I believe.

{
  "exif": {
    "software"          : "",
    "artist"            : "",
    "imageDescription"  : "",
    "userComment"       : "",
    "copyright"         : "",
    "dateTime"          : ""
  },
  "pxif": {
    "pixels"  : [
      {
        "x"  : 0,
        "y"  : 0,
        "color" : "",
        "size"  : 0
      }
    ],
    "dataURL" : ""
  }
}

example

{
  "exif": {
    "software": "http://august.today",
    "artist": "jenn schiffer",
    "imageDescription": "smile",
    "userComment": "an example pixel drawing to show off pxon",
    "copyright": "jenn schiffer 2015",
    "dateTime": "2015-09-17T15:21:51.761Z"
  },
  "pxif": {
    "pixels": [
      {
        "x": 75,
        "y": 69,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      },
      {
        "x": 80,
        "y": 84,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      },
      {
        "x": 96,
        "y": 82,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      },
      {
        "x": 110,
        "y": 83,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      },
      {
        "x": 129,
        "y": 72,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      },
      {
        "x": 88,
        "y": 40,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      },
      {
        "x": 112,
        "y": 38,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      },
      {
        "x": 97,
        "y": 57,
        "color": "rgba(0, 0, 0, 1)",
        "size": 15
      }
    ],
    "dataURL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAy8AAALGCAYAAABMEa7OAAAJyElEQVR4nO3XQQoDQQwDwf3/p5MvOCzByKqCOQ+6uZ8HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCfPi9e4r8AAEAo8QIAAEQQLwAAQATxAgAARBAvAABABPECAABEEC8AAEAE8QIAAEQQLwAAQATxAgAARBAvAABABPECAABEEC8AAEAE8QIAAEQQLwAAwHkCBAAAiCBeAACACOIFAACIIF4AAIAI4gUAAIggXgAAgAjiBQAAiCBeAACACOIFAACIIF4AAIAI4gUAAIggXgAAgAjiBQAAiCBeAACACOIFAAD4SVtEtO0FAIAz2o75tr0AAHBG2zHfthcAAM5oO+bb9gIAwBltx3zbXgAAOKPtmG/bCwAAZ7Qd8217AQDgjLZjvm0vAACc0XbMt+0FAIAz2o75tr0AAHBG2zHfthcAAM5oO+bb9gIAwBltx3zbXgAAOKPtmG/bCwAAZ7Qd8217AQCA510IbD0AAKDQdoiIFwAAYGQ7RMQLAAAwsh0i4gUAABjZDhHxAgAAjGyHiHgBAABGtkNEvAAAACPbISJeAACAke0QES8AAMDIdoiIFwAAYGQ7RMQLAAAwsh0i4gUAABjZDhHxAgAAjGyHiHgBAABGtkNEvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwKIvLAIBYv9X/6YAAAAASUVORK5CYII="
  }
}

apps using pxon

changelog

citation and credits

  1. [1] quote by Adam J. Sontag
  2. syntax highlighting courtesy of Prism