pingy.js
function(x, y, rgba) {
      var i = this._getIndex(x, y);
      var prev = this.getColor(x, y);

      this._png.data[i + 0] = is_num(rgba.r) ? to_rgba_int(rgba.r): prev.r;
      this._png.data[i + 1] = is_num(rgba.g) ? to_rgba_int(rgba.g): prev.g;
      this._png.data[i + 2] = is_num(rgba.b) ? to_rgba_int(rgba.b): prev.b;
      this._png.data[i + 3] = is_num(rgba.a) ? to_rgba_int(rgba.a): prev.a;

      return this.getColor(x, y);
    }
function(x, y, rgba) {
      var i = this._getIndex(x, y);
      var prev = this.getColor(x, y);

      this._png.data[i + 0] = is_num(rgba.r) ? to_rgba_int(rgba.r): prev.r;
      this._png.data[i + 1] = is_num(rgba.g) ? to_rgba_int(rgba.g): prev.g;
      this._png.data[i + 2] = is_num(rgba.b) ? to_rgba_int(rgba.b): prev.b;
      this._png.data[i + 3] = is_num(rgba.a) ? to_rgba_int(rgba.a): prev.a;

      return this.getColor(x, y);
    }
Set the RGBA value of a coordinate

@param {Number} x - x coordinate
@param {Number} y - y coordinate
@param {Object} rgba - RGBA value
@return {Object} RGBA value