class_docstr: A Windows bitmap with the given mode and size.  The mode can be one of "1",
  "L", "P", or "RGB".
  
  If the display requires a palette, this constructor creates a suitable
  palette and associates it with the image. For an "L" image, 128 graylevels
  are allocated. For an "RGB" image, a 6x6x6 colour cube is used, together
  with 20 graylevels.
  
  To make sure that palettes work properly under Windows, you must call the
  ``palette`` method upon certain events from Windows.
  
  :param image: Either a PIL image, or a mode string. If a mode string is
                used, a size must also be given.  The mode can be one of "1",
                "L", "P", or "RGB".
  :param size: If the first argument is a mode string, this
               defines the size of the image.
class_docstr_tok: ["A","Windows","bitmap","with","the","given","mode","and","size",".","The","mode","can","be","one","of","``","1","''",",","''","L","''",",","``","P","''",",","or","``","RGB","''",".","If","the","display","requires","a","palette",",","this","constructor","creates","a","suitable","palette","and","associates","it","with","the","image",".","For","an","``","L","''","image",",","128","graylevels","are","allocated",".","For","an","``","RGB","''","image",",","a","6x6x6","colour","cube","is","used",",","together","with","20","graylevels",".","To","make","sure","that","palettes","work","properly","under","Windows",",","you","must","call","the","``","palette","``","method","upon","certain","events","from","Windows",".",":","param","image",":","Either","a","PIL","image",",","or","a","mode","string",".","If","a","mode","string","is","used",",","a","size","must","also","be","given",".","The","mode","can","be","one","of","``","1","''",",","``","L","''",",","``","P","''",",","or","``","RGB","''",".",":","param","size",":","If","the","first","argument","is","a","mode","string",",","this","defines","the","size","of","the","image","."]
code: def __init__(self, image, size=None):
      if hasattr(image, "mode") and hasattr(image, "size"):
          mode = image.mode
          size = image.size
      else:
          mode = image
          image = None
      if mode not in ["1", "L", "P", "RGB"]:
          mode = Image.getmodebase(mode)
      self.image = Image.core.display(mode, size)
      self.mode = mode
      self.size = size
      if image:
          self.paste(image)
  
imports: from __future__ import annotations
  from .None import Image
label_desc: Use image node_id 1 to create a new Dib object  with example: obj = Dib(image, size)