readPixel(x, y) {
    if (x < 0 || y < 0 || x > this.size_[0] || y >= this.size_[1]) {
      tmpArray4[0] = 0;
      tmpArray4[1] = 0;
      tmpArray4[2] = 0;
      tmpArray4[3] = 0;
      return tmpArray4;
    }

    this.readAll();
    const index =
      Math.floor(x) + (this.size_[1] - Math.floor(y) - 1) * this.size_[0];
    tmpArray4[0] = this.data_[index * 4];
    tmpArray4[1] = this.data_[index * 4 + 1];
    tmpArray4[2] = this.data_[index * 4 + 2];
    tmpArray4[3] = this.data_[index * 4 + 3];
    return tmpArray4;
  }
Reads one pixel of the frame buffer as an array of r, g, b, a components
in the 0-255 range (unsigned byte).
If x and/or y are outside of existing data, an array filled with 0 is returned.
@param {number} x Pixel coordinate
@param {number} y Pixel coordinate
@return {Uint8Array} Integer array with one color value (4 components)