code: def scale(self, scaled_cx, scaled_cy):
          
          image_cx, image_cy = self._native_size
  
          if scaled_cx is None and scaled_cy is None:
              scaled_cx = image_cx
              scaled_cy = image_cy
          elif scaled_cx is None:
              scaling_factor = float(scaled_cy) / float(image_cy)
              scaled_cx = int(round(image_cx * scaling_factor))
          elif scaled_cy is None:
              scaling_factor = float(scaled_cx) / float(image_cx)
              scaled_cy = int(round(image_cy * scaling_factor))
  
          return scaled_cx, scaled_cy
docs: Return scaled image dimensions in EMU based on the combination of
          parameters supplied. If *scaled_cx* and *scaled_cy* are both |None|,
          the native image size is returned. If neither *scaled_cx* nor
          *scaled_cy* is |None|, their values are returned unchanged. If
          a value is provided for either *scaled_cx* or *scaled_cy* and the
          other is |None|, the missing value is calculated such that the
          image's aspect ratio is preserved.