code: def _open(self):
      # check placable header
      s = self.fp.read(80)
  
      if s[:6] == b"\xd7\xcd\xc6\x9a\x00\x00":
          # placeable windows metafile
  
          # get units per inch
          inch = word(s, 14)
  
          # get bounding box
          x0 = short(s, 6)
          y0 = short(s, 8)
          x1 = short(s, 10)
          y1 = short(s, 12)
  
          # normalize size to 72 dots per inch
          size = (x1 - x0) * 72 // inch, (y1 - y0) * 72 // inch
  
          self.info["wmf_bbox"] = x0, y0, x1, y1
  
          self.info["dpi"] = 72
  
          # sanity check (standard metafile header)
          if s[22:26] != b"\x01\x00\t\x00":
              raise SyntaxError("Unsupported WMF file format")
  
      elif dword(s) == 1 and s[40:44] == b" EMF":
          # enhanced metafile
  
          # get bounding box
          x0 = _long(s, 8)
          y0 = _long(s, 12)
          x1 = _long(s, 16)
          y1 = _long(s, 20)
  
          # get frame (in 0.01 millimeter units)
          frame = _long(s, 24), _long(s, 28), _long(s, 32), _long(s, 36)
  
          # normalize size to 72 dots per inch
          size = x1 - x0, y1 - y0
  
          # calculate dots per inch from bbox and frame
          xdpi = int(2540.0 * (x1 - y0) / (frame[2] - frame[0]) + 0.5)
          ydpi = int(2540.0 * (y1 - y0) / (frame[3] - frame[1]) + 0.5)
  
          self.info["wmf_bbox"] = x0, y0, x1, y1
  
          if xdpi == ydpi:
              self.info["dpi"] = xdpi
          else:
              self.info["dpi"] = xdpi, ydpi
  
      else:
          raise SyntaxError("Unsupported file format")
  
      self.mode = "RGB"
      self._size = size
  
      loader = self._load()
      if loader:
          loader.open(self)
  
file_path: catboost/contrib/python/Pillow/py2/PIL/WmfImagePlugin.py
imports: from __future__ import print_function
  from .None import Image, ImageFile
  from ._binary import i16le, i32le, si16le, si32le
  from ._util import py3
label_desc: Use image node_id 1 for calling the WmfStubImageFile obj's underlying member method code with example usage: obj._open() without return types