เพื่อสร้างตัวเลือก "ผู้ใช้ที่เป็นมิตร" สคริปต์ด้านล่างนี้สามารถใช้ได้ เพียงเรียกใช้คำสั่ง:
<script> <image> <crop_left> <crop_right> <crop_top> <crop_bottom>
มันสร้างภาพที่ถูกครอบตัดของimage.jpeg
ชื่อimage[cropped].jpeg
ในไดเรกทอรีเดียวกัน
บท
#!/usr/bin/env python3
import subprocess
import sys
# image, crop- dimensions
img = sys.argv[1]; left = sys.argv[2]; right = sys.argv[3]; top = sys.argv[4]; bottom = sys.argv[5]
# arrange the output file's name and path
img_base = img[:img.rfind(".")]; extension = img[img.rfind("."):]; path = img[:img.rfind("/")]
img_out = img_base+"[cropped]"+extension
# get the current img' size
data = subprocess.check_output(["identify", img]).decode("utf-8").strip().replace(img, "")
size = [int(n) for n in data.replace(img, "").split()[1].split("x")]
# calculate the command to resize
w = str(size[0]-int(left)-int(right)); h = str(size[1]-int(top)-int(bottom)); x = left; y = top
# execute the command
cmd = ["convert", img, "-crop", w+"x"+h+"+"+x+"+"+y, "+repage", img_out]
subprocess.Popen(cmd)
วิธีใช้
สคริปต์ใช้ imagemagick
sudo apt-get install imagemagick
บันทึกสคริปต์ข้างต้นเป็นcrop_image
(ไม่มีนามสกุล) ~/bin
ใน
- สร้างไดเรกทอรีถ้าจำเป็น ในกรณีที่ยังใช้เพื่อให้การแสดงไดเรกทอรีขึ้นมาใน
source ~/.profile
$PATH
- ทำให้สคริปต์เรียกใช้งานได้
ตอนนี้เพียงเรียกใช้สคริปต์ด้วยชื่อของมันดังที่ได้กล่าวไว้เช่น:
crop_image /path/to/image.jpg 20 30 40 50
ช่องว่างไม่มีปัญหาตราบใดที่คุณใช้เครื่องหมายคำพูด:
crop_image '/path/with spaces in the name/to/image.jpg' 20 30 40 50