code: def _open(self):
      # Header
      s = self.fp.read(1037)
  
      if not i16(s[:2]) in [65534, 65535]:
          raise SyntaxError("Not a valid GD 2.x .gd file")
  
      self.mode = "L"  # FIXME: "P"
      self._size = i16(s[2:4]), i16(s[4:6])
  
      trueColor = i8(s[6])
      trueColorOffset = 2 if trueColor else 0
  
      # transparency index
      tindex = i32(s[7 + trueColorOffset : 7 + trueColorOffset + 4])
      if tindex < 256:
          self.info["transparency"] = tindex
  
      self.palette = ImagePalette.raw(
          "XBGR",
          s[
              7
              + trueColorOffset
              + 4 : 7
              + trueColorOffset
              + 4
              + 256 * 4
          ],
      )
  
      self.tile = [
          (
              "raw",
              (0, 0) + self.size,
              7 + trueColorOffset + 4 + 256 * 4,
              ("L", 0, 1),
          )
      ]
  
imports: from .None import ImageFile, ImagePalette
  from ._binary import i8, i16be, i32be
label_desc: Use image node_id 1 for calling the GdImageFile obj's underlying member method code with example usage: obj._open() without return types