code: def fetch(self, x, y, w, h):
          
  
          if not at_least_libvips(8, 8):
              raise Error('libvips too old')
  
          psize = ffi.new('size_t *')
          pointer = vips_lib.vips_region_fetch(self.pointer, x, y, w, h, psize)
          if pointer == ffi.NULL:
              raise Error('unable to fetch from region')
  
          pointer = ffi.gc(pointer, glib_lib.g_free)
          return ffi.buffer(pointer, psize[0])
docs: Fill a region with pixel data.
  
          Pixels are filled with data!
  
          Returns:
              Pixel data.
  
          Raises:
              :class:`.Error`