code: @Override
      public void load(boolean alpha)
      {
          ImageBuffer surface = Graphics.getImageBuffer(media);
  
          if (0 != Double.compare(factorH, 1.0) || 0 != Double.compare(factorV, 1.0))
          {
              final int x = (int) (surface.getWidth() * factorH);
              final int y = (int) (surface.getHeight() * factorV);
              surface = Graphics.resize(surface, x, y);
          }
  
          lineWidth = (int) Math.floor(surface.getWidth() * sx / 100.0);
          lineHeight = (int) Math.floor(surface.getHeight() / (double) linesNumber * sy / 100.0);
          lines = Graphics.splitImage(surface, 1, linesNumber);
  
          final double factH = sx / 100.0 / AMPLITUDE_FACTOR;
  
          for (int i = 0; i < linesNumber; i++)
          {
              final int width = (int) Math.ceil(lines[i].getWidth() * (sx + i * 2 * factH) / 100);
              final int height = lines[i].getHeight() * sy / 100;
              lines[i] = Graphics.resize(lines[i], width, height);
          }
      }
docs: /*
  SpriteParallaxed