img-crop.py 948 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. 按区域坐标裁剪图片并保存
  5. 用法: python img-crop.py <input_path> <output_path> <x> <y> <width> <height>
  6. """
  7. import sys
  8. from pathlib import Path
  9. try:
  10. from PIL import Image
  11. except ImportError:
  12. print('{"success": false, "error": "请安装 Pillow: pip install pillow"}')
  13. sys.exit(1)
  14. def main():
  15. if len(sys.argv) != 7:
  16. print('{"success": false, "error": "用法: img-crop.py <input> <output> <x> <y> <width> <height>"}')
  17. sys.exit(1)
  18. input_path = sys.argv[1]
  19. output_path = sys.argv[2]
  20. x, y, w, h = int(sys.argv[3]), int(sys.argv[4]), int(sys.argv[5]), int(sys.argv[6])
  21. img = Image.open(input_path).convert('RGB')
  22. cropped = img.crop((x, y, x + w, y + h))
  23. Path(output_path).parent.mkdir(parents=True, exist_ok=True)
  24. cropped.save(output_path)
  25. print('{"success": true}')
  26. sys.exit(0)
  27. if __name__ == "__main__":
  28. main()