docs: def image(self, height=1, module_width=1, add_quiet_zone=True):
          """Get the barcode as PIL.Image.
  
          By default the image is one pixel high and the number of modules pixels wide, with 10 empty modules added to
          each side to act as the quiet zone. The size can be modified by setting height and module_width, but if used in
          a web page it might be a good idea to do the scaling on client side.
  
          :param height: Height of the image in number of pixels.
          :param module_width: A multiplier for the width.
          :param add_quiet_zone: Whether to add 10 empty modules to each side of the barcode.
  
          :rtype: PIL.Image
          :return: A monochromatic image containing the barcode as black bars on white background.
          """
          if Image is None:
              raise Code128.MissingDependencyError("PIL module is required to use image method.")
  
          modules = list(self.modules)
          if add_quiet_zone:
              # Add ten space modules to each side of the barcode.
              modules = [1] * self.quiet_zone + modules + [1] * self.quiet_zone
          width = len(modules)
  
          img = Image.new(mode='1', size=(width, 1))
          img.putdata(modules)
  
          if height == 1 and module_width == 1:
              return img
          else:
              new_size = (width * module_width, height)
              return img.resize(new_size, resample=Image.NEAREST)