docs: def smart_fit(image, fit_to_width, fit_to_height):
          """
          Proportionally fit the image into the specified width and height.
          Return the correct width and height.
          """
          im_width, im_height = image.size
          out_width, out_height = fit_to_width, fit_to_height
          if im_width == 0 or im_height == 0:
              return (fit_to_width, fit_to_height)
  
          w_scale = float(fit_to_width) / float(im_width)
          h_scale = float(fit_to_height) / float(im_height)
          if w_scale < h_scale:
              scale = float(fit_to_width) / float(im_width)
              out_height = int(round(scale * im_height))
          else:
              scale = float(fit_to_height) / float(im_height)
              out_width = int(round(scale * im_width))
  
          return out_width, out_height