বিএমপি ফাইলগুলির একগুচ্ছ লিনাক্সের জেপিজিতে রূপান্তর করুন


32

কেউ আমাকে একগুচ্ছ বিএমপি ফাইল প্রেরণ করেছেন এবং আমার সেগুলি জেপিজিতে দরকার। আমি তাদের জিমপ ব্যবহার করে একে একে রূপান্তর করতে পারতাম, তবে আমি বরং এটি সমস্ত একসাথেই করতে পারি। আমার উবুন্টু আছে

উত্তর:


46

আপনি ইমেজম্যাগিকের মোগ্রিফি সরঞ্জামটি ব্যবহার করতে পারেন

mogrify - format jpg * .bmp

1
নোট করুন যে এই উত্তরটি উইন্ডোজের পক্ষেও কার্যকর, কারণ ইমেজম্যাগিক উইন্ডোজের জন্যও ডাউনলোডের জন্য উপলব্ধ।
Gnoupi

এটি sudo apt install imagemagickউবুন্টুতে রয়েছে এবং আপনি গুণমান নির্ধারণ করতে পারেন-quality 100
এমপেন

15

আপনি সম্ভবত উবুন্টুতে ইমেজম্যাগিক ইনস্টল করেছেন।
এটা করতে পারে ,

convert filename.bmp filename.jpg

হালনাগাদ:

mogrify(উত্তর hyperslugএবং দ্বারা উল্লেখ cjm) একটি ভাল বিকল্প।

কোনও চিত্র, অস্পষ্টতা, ফসল, ডেসেকেল, দূরে, আঁকুন, ফ্লিপ করুন, যোগদান করুন, পুনরায় নমুনা এবং আরও অনেক কিছুর জন্য মোগরিফি প্রোগ্রামটি ব্যবহার করুন ।
এই সরঞ্জামটি রূপান্তর করার জন্য সমতুল্য বাদে মূল চিত্র ফাইলটি ওভাররাইট করা হয়েছে
(যদি না আপনি -formatবিকল্পটির সাথে ফাইলের প্রত্যয়টি পরিবর্তন করেন ) তবে আপনার অনুরোধে যে কোনও পরিবর্তন রয়েছে।


1
ইমেজম্যাগিকের মোগ্রিফি কমান্ড এটির জন্য রূপান্তর করার চেয়ে ভাল, কারণ এটি ওয়াইল্ডকার্ডের সাহায্যে সহজেই ব্যবহার করা যেতে পারে। হাইপারস্লাগের উত্তর দেখুন।
সিজেএম

7

আমাকে সালমনমুজের উত্তরে একটু পরিবর্তন করতে দাও:

for i in `ls *.bmp`; do convert $i $i.jpg; done

উপরের কাজ করে তবে "bmp.jpg" নামে ফাইল উত্পন্ন করে। আপনি এই আদেশ দ্বারা .jpg ফাইলগুলি পেতে পারেন:

for i in *.bmp; do convert ${i} ${i%bmp}jpg; done

কমান্ডের man bashবিশদ জানতে দেখুন for${i%bmp}অংশ স্ট্রিং মানে "$ {আমি}" "BMP" শেষে সাবস্ট্রিং ছাড়া।

"$ {I}" এ স্ট্রিংটি রূপান্তর করতে অন্যান্য ক্রিয়াকলাপ রয়েছে। "$ i" "$ {i}" এর জন্য একটি শর্টহ্যান্ড। ls *.bmpSalmonmoose উত্তর উপায়ে অংশগ্রহণ "চালানো ls *.bmp, তারপর জন্য iঅংশ নির্ধারণ প্রতিটি স্ট্রিং শূণ্যস্থান দ্বারা পৃথক i"। এটি একই দ্বারা অর্জন করা হয় *.bmpকারণ এটি ডিরেক্টরিতে সমস্ত ফাইলের নামের সাথে মেলে।

এর সাথে একটি অপূর্ণতা রয়েছে for- আপনার ডিরেক্টরিতে যদি ফাইলগুলির নামের ফাঁকা থাকে, উদাহরণস্বরূপ "বিবাহের চিত্র 1.bmp", iএই আদেশগুলি সম্পাদন করে এটি ভারে 3 বার বরাদ্দ করা হবে :

convert wedding wedding.jpg 
convert picture picture.jpg
convert 1.bmp  1.bmp.jpg

আমার উত্তরে "$ {i% bmp}" মিলটিও ব্যর্থ হয়।

তবে একটি সমাধান রয়েছে - আপনি findপরিবর্তে কমান্ডটি ব্যবহার করতে পারেন । দেখুন man findবিস্তারিত জানার জন্য। আপনার নীচের মতো কিছু টাইপ করা উচিত (দয়া করে চেষ্টা করার আগে ম্যান পৃষ্ঠাটির সাথে সিনট্যাক্সটি পরীক্ষা করুন):

find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;

(আমি নামের অংশটি সম্পর্কে খুব বেশি নিশ্চিত নই, এবং অংশটিতে আমার কিছুটা সন্দেহ আছে -exec, man findপ্রথমে দেখুন)

আপনি যদি একটি .jpg ফাইলে সমস্ত চিত্রগুলিতে যোগদান করতে চান তবে আপনি প্রথম উত্তরে উল্লিখিত চিত্র হিসাবে, অন্য ফিল্টারগুলির সাথে সেগুলি যুক্ত করতে পারেন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.