code: def preprocess(self, image):
          
          image = super(max7219, self).preprocess(image)
  
          if self._correction_angle != 0:
              image = image.copy()
              for y in range(0, self._h, 8):
                  for x in range(0, self._w, 8):
                      box = (x, y, x + 8, y + 8)
                      rotated_block = image.crop(box).rotate(self._correction_angle)
                      image.paste(rotated_block, box)
          if self.blocks_arranged_in_reverse_order:
              old_image = image.copy()
              for y in range(8):
                  for x in range(8):
                      for i in range(self.cascaded):
                          image.putpixel((8 * (self.cascaded - 1) - i * 8 + x, y), old_image.getpixel((i * 8 + x, y)))
  
          return image
docs: Performs the inherited behviour (if any), and if the LED matrix
          orientation is declared to need correction, each 8x8 block of pixels
          is rotated 90° clockwise or counter-clockwise.