একটি চিত্র স্বয়ংক্রিয়ভাবে কাটতে কমান্ড লাইন?


18

গিম্পের মেনু ব্যবহার করে আপনি স্বয়ংক্রিয়ভাবে চিত্রটি কাটাতে পারেন (সাদা সীমানা অপসারণ)। আমার কাছে বিভিন্ন আকারের সাদা সীমানা সহ প্রচুর চিত্র রয়েছে। আমি কমান্ড লাইনে জিম্প ব্যবহার করে সেগুলি সরাতে চাই তবে কমান্ডটি কী তা বুঝতে পারি না।

কারও ধারণা আছে?

ইমেজম্যাগিক ব্যবহার করে?

উত্তর:


36

(প্রধানত ব্যক্তিগত ভবিষ্যতের রেফারেন্সের জন্য) ইমেজম্যাগিক ব্যবহার করে:

convert -trim image.jpg image.jpg

পুরো ডিরেক্টরিটি ছাঁটাই / অটোক্রপ করতে:

for a in *.jpg; do convert -trim "$a" "$a"; done

বা সন্ধান করুন :

find -name "*.jpg" -exec convert -trim "{}" "{}" \;

2
ইমেজম্যাগিক স্যুট থেকেও, mogrifyরূপান্তর হিসাবে একই কাজটি করবে, তবে অনুলিপিগুলি তৈরির পরিবর্তে মূলটিকে ওভাররাইট করবে।
ইয়াব

- স্বচ্ছ আমার জন্য কাজ করে না, তবে - ট্রিম কাজ করে। ধন্যবাদ।
ইভান জেডজি জিয়াও

3

আমি এটি কিছুক্ষণ ব্যবহার করি নি তবে আশা করি এটি সাহায্য করবে। একটি জিম্প ব্যাচের স্ক্রিপ্ট তৈরি করুন (আমি আমার ক্রপ- png.scm কল করি), এবং এটি ~ / .gimp-2.6 / স্ক্রিপ্ট /) এ রেখেছি।

(define (crop-png filename)
  (let* 
    (
    (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
    (drawable (car (gimp-image-get-active-layer image)))
    )

  ; crop the image
  (plug-in-autocrop RUN-NONINTERACTIVE image drawable)

  ; save in original png format
  (file-png-save RUN-NONINTERACTIVE image drawable filename filename
       0 6 0 0 0 1 1)

  ; clean up the image
  (gimp-image-delete image)
  )
)

তারপরে এই শেল স্ক্রিপ্টটি সংরক্ষণ করুন (উদাহরণস্বরূপ, pngcrop.sh) এবং পিএনজি ফাইলগুলিতে এটি কল করুন: 'pngcrop.sh * .png'

#!/bin/bash

if [ $# -le 0 ]; then
    echo
    echo "Usage: $(basename $0) file1.png [file2.png ...]"
    echo
    echo "  This script uses gimp to autocrop PNG files and"
    echo "  save them to PNG format.  You must have"
    echo "  crop-png.scm installed in your gimp "
    echo "  scripts directory."
    echo
    exit 1
fi

# set the filelist
files=$*

# # set the base command
# CMD="gimp -i -b "

# loop and add each file
for i in ${files[*]} ; do
  # #echo $i
  # ARGS="\"(crop-png \\\"$i\\\")\""
  # CMD="$CMD $ARGS"

  gimp -i -b "(crop-png \"$i\")" -b "(gimp-quit 0)"
done

# # add the end to quit
# TAIL="-b \"(gimp-quit 0)\""
# CMD="$CMD $TAIL"
# 
# #echo $CMD
# eval $CMD
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.